ユーザーがブラウザを閉じた後も(ユーザーがログアウトをクリックするまで)、データベースにセッションを保存せずにセッションを維持する方法が必要です。
それを行うための最良の方法は何ですか?
ユーザー名とパスワード(ハッシュ)をCookieに保存できますか?
ユーザーがブラウザを閉じた後も(ユーザーがログアウトをクリックするまで)、データベースにセッションを保存せずにセッションを維持する方法が必要です。
それを行うための最良の方法は何ですか?
ユーザー名とパスワード(ハッシュ)をCookieに保存できますか?
有効期限の長い Cookie に保存します (たとえば、1 か月程度)。ハッシュ化されたパスワードである必要はありません。比較できるように、データベースとユーザー側に保存されている識別ハッシュだけです。
ユーザーがログインしたら、ランダム トークンを生成し、1) データベースに保存し、2) ユーザー名とこのランダム トークンを使用して Cookie を設定する必要があります。
次に、この Cookie を受け取り、トークンを DB 内のトークンと照合する関数を作成する必要があります。トークンが同じ場合は、セッションを開始して新しいセッションを生成する必要があります。
パスワードではなく、ランダムなトークンを使用してください。そうしないと、常に同じになります。
「ユーザーがログインしている」機能は、セッションが開いているかどうかを最初に確認する必要があることに注意してください。そうでない場合、ユーザーがアクセスするすべてのページに対してこのプロセスが繰り返されます。