現在、Web プロジェクト用の「Remember Me」システムを実装しています。いくつかの記事を読んだ後(あまり役に立たない記事ですが)、割り当てられたユーザーのアカウント以外のアカウントへのアクセスにCookieが使用されるのを防ぐために、このシステムを思いつきました。
- ユーザーがログインし、[Remember Me] ボックスをオンにします。
- ユーザーの電子メールとパスワードの組み合わせが認証されます。記憶機能がチェックされるため、長さ 128 文字のランダムなソルトが作成され、ユーザーのユーザー ID とともにテーブルに格納されます。ユーザーのユーザー ID とソルトのハッシュに連結されたユーザーのユーザー ID のハッシュを含む Cookie が設定されます。
- ユーザーが Web ページに再度アクセスすると、ユーザー ID とハッシュが分離され、データベースに保存されているソルトとユーザー ID から生成されたハッシュに対してハッシュがチェックされます。値が一致する場合、ユーザーは Cookie が割り当てられたユーザーであり、ユーザーはログインしています。
できる問題/改善点がある場合は、それらを指摘してください。私は常に批判を受け入れています:)