Web サイトの管理パネルを管理するために使用している PHP セッションがあります。これは、2 つの変数を使用してセッションを監視しlastAction
ますuser
。最近、私の Web サイトのある特定のページで、セッション変数user
がランダムに完全に設定解除され、ユーザーがログイン ページに戻されますが、その理由がわかりません。
session_start();
$fn = "timeout.txt";
$fh = fopen($fn,'r');
$to = fread($fh,filesize($fn));
if(abs(time()-$_SESSION["lastAction"]) > $to)
{
session_unset();
die("Timeout");
}
var_dump($_SESSION);
//Set timeout back to 0
$_SESSION["lastAction"] = time();
if($_SESSION["user"] != "...")
{
die("Invalid User");
header("Location:/login");
}
タイムアウト エラーは発生せず、無効なユーザー エラーのみが発生します。
セッション変数をダンプすると、lastAction
との 2 つの値の配列が得られることuser
がありますが、数秒後にページをリロードするだけでuser
設定が解除されますが、設定は解除されlastAction
ません。
また、この例では、javascript を使用してページをリロードしています。parent.location='';
これを引き起こしている可能性のあるアイデアはありますか?