ログインメカニズムを備えたphp Webサイトを作成しました。ユーザーが正しいユーザー名とユーザー パスワードを使用すると、php はそのユーザーに $_SESSION['userid'] を与えます。
index.php では、以下を使用してログインを確認しました:-
if (!($_SESSION['userid'])){?>
<script>
window.location='login.php';
</script>
<?php }?>
そしてそれは長い間うまく機能します。
最近、Chrome で短時間 (数分など) の後、ブラウザーがセッション変数をクリアすることに気付きました。そのため、ページを更新したり、index.php?XXXX につながる他のメニュー ボタンをクリックしたりしても、ログインのチェックが行われます。 java スクリプトが機能し、login.php に戻ります。しかし、そのようなクリアは、firefox と IE では起こりません。
favicon.ico が欠落している場合、ブラウザはすべてのセッションをクリアする 301 リダイレクトを実行します。しかし、ルートディレクトリに存在するファイルを使用して、 href="/favicon.ico" によって正しいファイルの場所を指定したと思います。
上記を参照してください。クロムがセッション変数をクリアするのを回避できる他の理由はありますか?