3

WebSocket の場合、Cookie からセッション ID を公開する必要があります。

少し検索したところ、次の方法で Cookie にアクセスできるはずであることがわかりました。

console.log(document.cookie);

残念ながら、これは機能しないか、より良い document.cookie には空の文字列が含まれていますが、chrome 自体が Cookie も認証が機能していることを示しています。

Chrome が JavaScript の Cookie を隠している可能性はありますか?

4

1 に答える 1

6

これは、サーバーがフラグ付きHttpOnlyセッション Cookie を送信するように構成されている場合に発生する可能性があります。このようにして、Cookie は JS などのクライアント側のスクリプト言語から見えなくなり、アクセスできなくなります。

具体的な機能要件を達成するには、サーバーを再構成してそうしないようにするか、カスタム Cookie を設定する (HttpOnlyもちろんフラグなしで) か、サーバー側のビュー テクノロジに現在のセッション ID を動的に出力させるなどの代替手段を探します。 JS 変数または HTML 要素の属性として、JS が HTML DOM をトラバースしてアクセスできるようにします。

于 2012-08-12T17:59:55.613 に答える