今、私のウェブサイトはセッションを使用していますが、ブラウザを閉じるとログイン状態が消えてしまい、非常に不便です
[ログイン状態を維持する]機能の使い方と、Cookieのセキュリティを行う方法を詳しく説明するのが最善です。具体的な計画はありませんが、開発経験のある人が指導してくれることを願っています
今、私のウェブサイトはセッションを使用していますが、ブラウザを閉じるとログイン状態が消えてしまい、非常に不便です
[ログイン状態を維持する]機能の使い方と、Cookieのセキュリティを行う方法を詳しく説明するのが最善です。具体的な計画はありませんが、開発経験のある人が指導してくれることを願っています
PHP セッションも Cookie を使用して実装されることに注意してください。ブラウザに保存される Cookie 名はデフォルトで PHPSESSID になります。
このセッションの有効期限は 3600 秒に設定することもできます。 session_set_cookie_params(3600);
この方法 この Cookie は、ブラウザを閉じてから 1 時間以内に再度開いても有効です。
PHP セッションは、デフォルトで各 PHPSESSID がセッション データを保存するファイルに対応します。つまり、異なる PHPSESSID のセッション データは共有されません。
たとえば、PHP セッションを使用してショッピング カートやビデオを実装する場合。閲覧記録機能では、
ショッピングカートのデータをセッションファイルに保存すると、他の端末やブラウザからログインした後はショッピングカートのデータが閲覧できなくなります。
このとき、ショッピングカートのデータをセッションファイルに保存する必要があります。データベース
ユーザー ID (プレーン テキスト) とユーザーのソルト値 (ハッシュ) は Cookie に保存されます。
高度なセキュリティが必要な場合は、MCRYPT_BLOWFISH を使用して Cookie コンテンツ全体を暗号化することもできます。
この Cookie はユーザーを認証できる必要があります。 , そして、偽造してはなりません
ユーザーのソルト値は、ユーザーが登録するときにパスワードを保護するためにランダムに生成されて決定され、ユーザーテーブルのユーザーに対応するフィールドデータに保存されます。
リーリー
ユーザーのソルト、アプリケーションのグローバル ソルト、および MCRYPT_BLOWFISH 暗号化キー $key はすべてランダムに生成され、決定されます。
の現在の時刻に基づいてプロセス ID + 乱数 + マイクロ秒を生成するアルゴリズム。数値 + エントロピー
sha1( uniqid(getmypid().'_'.mt_rand().'_', true) )
ユーザーを検証するときは、最初に秘密キーを使用して $_COOKIE['cookie_name'] を復号し、
その後、base64_decode を使用してユーザー ID を取得し、
次に同じメソッドにソルトを渡します。クッキーに続くハッシュアルゴリズム $cookie_salt のソルトを比較します
それらが一致していれば、ユーザーのクッキーは有効であると判断されます
リーリー
ブラウザを閉じても1か月で期限切れになるように、Cookieの有効期間を設定します。たとえば、現在時刻に1週間を加えます
キャッシュ
を使用してセッションを保存することをお勧めします。有効期限は任意に設定できます。オンラインかどうかを確認する場合は、直接アクセスしてください。 php.ini
でセッション ストレージ メディアを設定できるようです。