2011-01-20 2 views
0

正しく設定されていれば、セッションIDを生成し、Webページをレンダリングした後、seesion_idはクッキーをクライアントに保存します。しかし、クッキーの値がWebサーバーに要求を送信する前にクライアントによって変更されている場合、どのように変更を確認するためのレール?今、私はレールを調べるための手がかりを見つけることができません。チェックしないとseesion_idがWebサーバーのセッションストアに存在する場合、他のセッションのデータは現在のブラウザーユーザーのために表示されます。クライアントがsession_id cookieを変更したかどうかをRailsが確認する方法

質問で誰かが明らかであれば、私のために説明できますか?前もって感謝します。

答えて

2

クッキーは暗号署名されています。参照:

https://github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/middleware/cookies.rb

注クッキーに署名すると、それを暗号化するのと同じことを意味しないこと。ユーザーは少しの手間をかけてセッションの内容を見ることができますが、署名を破ることなく変更することはできません。

セッションの内容をユーザーから隠す場合は、Cookieストアを使用しないでください。

+0

申し訳ありませんが、あなたが送信したリンクにアクセスしていません。はい、署名は暗号化とは異なります。しかし、私はブラウザ上のレールで作成されたsession_idクッキーしか見ることができません。どのようにして正しいのか一貫性のあるsession_idであることを識別するために、私はまだ明確ではない、より多くの入力を与えることができますか?ありがとう。 – ywenbo

+0

あなたのセッションにcookie_storeを使用していない可能性がありますか?あなたのクッキーにsession_idしか見ることができない場合は、おそらく別のストアを使用しているでしょう。そのような場合は、あなたの質問を更新して、あなたが本当に求めていることがより明確になるようにすることをお勧めします。 – noodl

+0

本当にキー名は_merpro_session、merproは私のアプリケーション名です。私は「session_id」を例として取ります。 – ywenbo

関連する問題