アプリケーションが404 Not Foundコードで応答する状況によっては、セッション識別子のSet-Cookieディレクティブも返されますが、プラグマディレクティブこれは、セッション識別子をブラウザキャッシュに格納できることを意味し、アプリケーションのセキュリティに影響しますか? Set-Cookieのすべてのレスポンスにキャッシングディレクティブが含まれているかどうかはわかりません。HTTP 404が見つかりません。Set-Cookieディレクティブのレスポンスにキャッシュコントロールヘッダーが含まれています
答えて
Cookieがブラウザに永続的に保存されているかどうかは、Expires and Max-Age propertiesによって制御されます。キャッシュ制御とプラグマヘッダーはページの内容にのみ影響します。だから私はあなたが明示的なキャッシュヘッダーがなくても、404ページでうまくいくと思います(*ただし、以下の編集を参照してください)。
セッションクッキーは、明示的な有効期限なしに設定する必要があります。この場合、セッションCookieは通常ディスクに保存されず、ユーザーがブラウザを終了すると削除されます。
(ユーザーが休止することを決定、またはコンピュータがメモリ不足と交換し始めたとき、メモリからそのようなデータはまだ例えばのように、ディスクに保存されますあなたのコントロールを超えた場合があることに注意してください。)
編集(コメントを参照してください):クッキーを設定し、通常のページの場合は
、あなたは通常Cache-control: no-cache,no-store,must-revalidate
などの機密情報のキャッシュを防止するためのヘッダを持っています。私は本質的にはクッキーレスポンスをキャッシュしていないので、通常のページに明示的に設定する必要はありません。
したがって、404ページにどのようなCookieが設定されているのですか?認証されていないユーザーが404ページをダウンロードしてセッションCookieを取得した場合、そのCookieはセッション固定に対する脆弱性がないように(Cookie値はログオン時に変更される必要があるため)、攻撃者にとっては役に立ちません。認証されたユーザーの場合、アプリケーションがセッションCookieを再び設定するのはなぜですか404ページに?それがしても、キャッシュを防ぐためにヘッダーを送るべきです、それはSkipfishの良いキャッチです。 (実際には認証されていないユーザーに対してもこれを行うことができますが、そのリスクは非常に低いと評価します)。
- 1. Socket.io 404が見つかりません
- 2. ページが見つかりません(404)
- 3. 404ページが見つかりません
- 4. Microsoft.Owin.Testing.TestServer 404が見つかりません
- 5. 404 node_modulesが見つかりません
- 6. 快適なJetty HTTPエラー404が見つかりません。
- 7. エラー:XHRエラー(404が見つかりません)loading angular2/http
- 8. HTTP 404 - ファイルが見つかりませんInternet Explorer V6
- 9. 角2 HTTP GET 404が見つかりませんURL
- 10. HTTP 404リソースが見つかりません
- 11. HTTP 404が見つかりませんでした。tomcat 8.0サーバー
- 12. HTTP 404リソースが見つかりません - Grafana World Map Pluginカスタムマーカー
- 13. HTTPステータス404 - ページが見つかりません。 SpringMVCエラー
- 14. URLに "star"が含まれているとnginx 404が見つかりません
- 15. 404が見つかりません:何かが間違っています
- 16. 404 /index.xhtmlがリソースとしてExternalContextに見つかりません
- 17. 404が見つかりません。要求されたURLがウェブサイトに見つかりません
- 18. 404が見つかりません - BLOBのdiffパラメータの1つが見つかりません
- 19. HTTPエラー404.要求されたリソースが見つかりません。 IIS
- 20. HTTPエラー404.要求されたリソースが見つかりません。 Spring MVC
- 21. 404が見つかりません "要求されたURLが見つかりませんでした"
- 22. http.FileServerが "404ページが見つかりません"を送信しています
- 23. Cloudfrontキャッシュコントロールヘッダーがありません
- 24. "name"にアクセスするHTTPエラー404が見つかりません(サーブレット)
- 25. Symfony - HTTP 404が見つかりませんでした。 "GET /"のルートがありません
- 26. 404が見つかりませんが、ルートがLaravelにあります。5.4
- 27. 角2 - サービスワーカーが見つかりません - 悪いHTTP応答コード(404)
- 28. POSTのHTTP:// localhostを:53122/albumlist.aspx/WWW 404(見つかりません)
- 29. Codeigniter - サーバーエラー - 404 - ファイルまたはディレクトリが見つかりません
- 30. フォームのPOSTメソッドに404が見つかりません
ありがとうございます。私はこの質問をしました。この場合、Skipfishは問題を返します - 不正なキャッシングディレクティブ(高リスク) - 暗黙的にキャッシュ可能な 'Set-Cookie'レスポンス。これは単に偽陽性の結果だと思いますか? – user187205
インターネットでいくつかの情報を検索しています。これは、_Cache-Control:no-cache = "set-cookie" _を使用するための提案です(https://github.com/pintsized/ledge/issues/7)。 – user187205
私は1分で答えを編集します、これを指摘してくれてありがとう、面白いです。 –