2016-05-12 4 views
2

有効期限はクッキーの属性です。後続の要求が発生すると、属性はサーバーに返されません。正常に動作しているブラウザは期限切れのCookieを送信しませんが、悪意のあるブラウザは期限切れを無視してCookieを送信します。ブラウザが実際にクッキーの属性として送信した有効期限を実際に尊重しているかどうかをサーバーがどのように伝えることができますか?後続のリクエストでサーバーに返されたCookieが期限切れではないことをどのように信頼するか?

有効期限をに保存するのは簡単ですか?クッキー?次に、クッキーが署名されている場合、ブラウザはその値を信頼し、それ自身の時計と照合することができます。

+1

興味深い質問を使用して例えば

- しかし、私は答えはあなた、サーバは、適切に期限切れのクッキーを処理することができるというの責任(など「セッションの有効期限が切れた」メッセージを表示するなどしているということだけであると考えます)たとえ良性のクライアントであっても、間違って期限切れのCookieを送信する可能性があります。システムクロックが間違っている場合は –

答えて

1

NEVER。信頼。ユーザー。入力。

ユーザーは、アプリケーションの外部を考慮してください。あなたの特定のケースについては

https://www.owasp.org/index.php/Don't_trust_user_input

、はい、あなたはクッキーの内容にタイムスタンプを追加し、そのコンテンツに署名し、サーバーサイド、それを確認することができます。 https://secure.php.net/manual/en/function.openssl-sign.php

+0

私は同意しますが、ブラウザが信頼するかどうかではなく、サーバーがクッキーの有効性を確認する方法についての質問です。 –

+0

@RaffiKhatchadourian私が言うように、あなた自身が、クッキーに署名することができます。それについての詳細が必要ですか? – Tom

関連する問題