2017-06-14 4 views
0

私が知っている限り、一度クッキーが応答として送信されると(そしてそのクッキーに有効期限が含まれていれば)、クッキーの内容だけで、要求と共に有効期限が返されません。Railsで署名されたCookieのCookieの有効期限を改ざんできますか?

このように、Railsでクッキーが署名されていても、有効期限を改ざんして実際よりも遠くに設定することはできますか?

+0

あなたは 'cookies.encrypted [:valid_until] = ...'によって安全な値を提供できます。 – Stefan

答えて

0

はい、追加のセキュリティを提供しない限り、暗号化された/署名されたCookieの有効期限を改ざんするだけで済みます。

とにかく値がどのように暗号化されているかを見て、いつでも追加情報をクッキー値に追加することができます。有効期限を設定します(要素インデックス0は値、要素インデックス1はCookieの有効期限など)。配列内に値全体を格納するか、その文字列内でクエリを使用して値を取得します。 。次に、コントローラ内でクッキーの値を配列に解析し、有効期限の値をチェックします(たとえば、有効期限が切れている場合はエラーを発生させます)。クッキーの有効期限を正しい、クライアントの改ざんされた値。そうすることで、そのクッキーの価値が必要になるたびに、クッキーがまだ存在するかどうか、または有効期限が改ざんされているかどうかを常に確認することができます。

私はあなたがこれを頻繁に行う必要はないと思うべきです、そして、それのアプリケーションは非常に特定のコントローラメソッドのためです。確かにハッキリですが、クッキーの値とクッキーの有効期限の両方が改ざんされていないことを確かめる唯一の方法です。

関連する問題