2011-10-18 2 views
4

高度なフレームワークを使用せずに、クッキーを使ってJavaサーブレットで簡単なRemember meオプションを実装する必要があります。java servletクッキーでmeオプションを記憶する

最初にログインすると、ブラウザ(クライアント)に応答してCookieを作成して送信します。 Cookieに保存される値はusername + passwordからの単純なハッシュです。

ブラウザから受信したリクエストをどのように管理して送信する必要がありますか? 私のアプローチは、ユーザー名+パスワードのハッシュがクッキーの値と等しいユーザーがいる場合、登録ユーザーをチェックすることです。 このアプローチは正しいですか?

また、有効期限の仕組みが何であるかはわかりませんでした。 Cookieが期限切れになったときにブラウザがCookieを削除しますか?そうではありません。Cookieが期限切れになっていないかどうかを確認するにはどうすればよいですか?

答えて

4

HTTPSを使用していない限り、あなたが提案する方法は非常に安全ではありません。何らかのセッショントークン(例:java.util.UUID.randomUUID())を生成し、これをCookieとして設定し、サーバー側のどこかに保存して、後でこのセッションIDに関連付けられたユーザーをCookieに識別できるようにすることをお勧めします。

詐欺が発生していると思われ、ユーザー名/パスワードと使用するCookie IDの間に直接の関連性がないと思われる場合は、特定のセッションCookieをリセットする機会があります。しかし注意してください:この方法はまだ中間者の攻撃に脆弱です。

有効期限について:はい、Cookieが無効になり、有効期限が切れていればブラウザによって削除される可能性があります。しかし、あなたは何年に何かにクッキーを設定することができますので、それは永遠に生きています。

関連する問題