2

Webアプリ用のRESTfulAPIを作成しています。

一部のモバイルブラウザは、ユーザーがブラウザを終了するとクライアント側のCookieを削除するため、local.storageを使用して、ユーザーを認証するためにAPIに送信できるユーザーのキーを保存しています。

キーが十分に長く、頻繁に変更され、すべての通信がhttpsを介して行われることを考えると、putまたはdeleteを使用してキーを送信するのは安全ですか?私の理解では、getを使用すると、悪意のあるユーザーがユーザーのアカウントにアクセスするために使用する可能性のあるキーがブラウザーの履歴に残る可能性があります。対照的に、投稿ははるかに安全です。置くか削除するのはどうですか?

4

2 に答える 2

1

可能であれば、HTTP ヘッダーを介してキーを送信します。そうすれば、GET、POST、PUT など、どのメソッドを使用してもかまいません。

以下も参照してください。setRequestHeader()

于 2012-10-09T02:16:51.117 に答える
0

GETを使用し、キーをパラメーターとして送信する場合、それは絶対に安全ではありません。ブラウザはURLをキャッシュします。これは、キーが履歴で利用可能になることを意味します。セキュリティのために、ヘッダーに貼り付けます。

チャレンジレスポンス認証パターン(またはこのパターンの多くのバリエーション)のようなものを使用できますが、本当に安全であることに興味がある場合。とにかくキーの変更が頻繁にあるとおっしゃっていたので、あなたはある程度正しい方向に進んでいると思います。本当の問題は、クライアントの最初のインスタンスでそのキーをどのように取得するかです(それは安全ですか?)...

于 2012-10-09T02:43:37.510 に答える