私は単純なログインシステムを持っています。たとえば、localhost/login.php セッションを使用している場合、ユーザーが以前にログインしたかどうかを覚えています。Firefox ブラウザーの履歴を消去し、現在のページ (管理者パネル ページ) を更新しようとすると、ページはログイン ページに転送されます。
ブラウザの履歴をクリアするだけで、セッションも削除される理由を知りたいですか? セッションはサーバーに保存されます。
はい、セッションはサーバーに保存されます。ただし、そのセッションへの参照 (session_id) はクライアント側で Cookie に保存されます。Cookie を使用してブラウザーの履歴を消去すると、サーバー上のセッション ストアへの参照 ID が失われます。
これは、通常、セッションは Cookie (クライアント ブラウザーに保存されている) に依存してクライアントを認識し、それを保存されたセッションにリンクするためです。履歴が削除されると、セッションはサーバー上に残りますが、クライアントにはリンクされなくなります。
セッションは、Cookie の代わりに URL で GET 変数を使用するように設定することもできます。しかし、ユーザーは自分の URL を他の誰かに送信することがあるため、これは通常、セキュリティ リスクと見なされます。
function.session-id.phpで見られるように
セッションは Cookie を使用して値を保存しsession_id
ます。したがって、ブラウザのキャッシュ/Cookie/履歴をクリアするsession_id
と、 もクリアされ、新しいものが生成されます!