1

App Engineのセッションにユーザーの状態(ログイン/ユーザーID)を保存しています。他のユーザーUserIdを知っているユーザーが自分のCookieを操作し、他のユーザーとしてログインすることは可能ですか?

これを防ぐためにどのような手順を実行する必要がありますか?

4

2 に答える 2

2

あるユーザーが別のユーザーのデータに直接アクセスすることはできません。ただし、あるユーザーが別のユーザーのログイン セッションを盗む方法があります。しかし、これは GAE 固有のものではありません。

見る:

  1. http://en.wikipedia.org/wiki/Session_hijacking
  2. http://en.wikipedia.org/wiki/Cross-site_request_forgery (CSRF)

ハイジャックは、オープンな Wi-Fi ホットスポットで簡単に発生する可能性があります。一般的な解決策は、サイトをSSLでホストすることです。

CSRF は、ユーザーが Web サイトにログインし、悪意のある Web サイトを同じブラウザーで開いている場合に発生します。これを防ぐには、さまざまな方法があります。一般的な解決策は、ランダムな検証トークンを HTML フォームに含めることです。また、HTTP 応答ヘッダーを設定します。非 ajax ヒットの場合、X-Frame-Options: sameorigin要求ヘッダーが「XMLHttpRequest」と等しくないことを確認します。X-Requested-With

XSS を使用してこれらの攻撃をより効果的にすることができるので、XSS からも保護してください。

一般に、これらのタイプの攻撃では、ユーザーセッションがすぐに期限切れになるようにします。

于 2012-12-03T15:10:20.307 に答える
1

私はセキュリティの専門家ではありません。しかし、私が学んだこと:

  • HTTPS を使用する
  • フレームを使わない
  • リクエストごとにフォームで新しい CSRF トークンを使用する
  • セッション Cookie ストアを使用する代わりに、状態をデータストアに保存します。
于 2012-12-03T15:19:12.623 に答える