1

ログインと登録を実行するために、非同期 http 要求 (一般的な誤称を使用するには ajax) を使用する Web サイトがあります。認証 Cookie は非同期リクエストによって設定され、すべてうまく機能します。

最近、https を要求するように登録およびログイン アクションをロックダウンしました。返された認証 Cookie が正しく機能しておらず、ユーザーが実際にログインしていないことを除いて、 すべてが機能しているように見えます。

Chrome では、開発ツールのリソースの下に、作成された Cookie が表示されません。Chrome の設定に移動してすべての Cookie を表示すると、Cookie作成されていることがわかります。暗号化されていて読めないのではないでしょうか?

要約すると、次のようになります。

  • 最初のページは通常の HTTP を使用して読み込まれます
  • Login アクションは非同期の HTTPS リクエストです
  • HTTPS リクエストによって返された認証 Cookie が機能していないようです

これを機能させるにはどうすればよいですか?

注意すべき点がいくつかあります。

  • これは CORS の問題ではありません。
  • 中間者攻撃の可能性を認識しています。この Web サイトには機密データは含まれていません。私は、reddit が行っていることと非常によく似た (まったく同じではないにしても) ことをしようとしています。
4

1 に答える 1

1

私はこれを理解することができました。Http 応答では、Access-Control-Allow-Credentialsヘッダーをに設定する必要があることがわかりましたtrue。また、クライアント側の http 要求でwithCredentialstoを設定する必要があります。true

于 2013-02-09T19:06:25.793 に答える