セッションと、セッションを終了する機能のいくつかがどのように機能するかを理解しようとしています。私はさまざまなサイトに行きました/そしてここSOでも、基本的には何も機能していません。
作業しようとしているアプリがあり、ユーザーがログインすると、ユーザー名をそのように保存します(コード全体を貼り付けるつもりはありませんが、アイデアは得られます)
if($row == 1){
session_start();
$_SESSION['usrname'] = $login_usrname;
$_SESSION['usrpass'] = $login_usrpass;
header("Location:index.php");
exit;
}
上記のアプリのインデックスページには、次のようなチェックがあります
session_start();
if(!isset($_SESSION['usrname']) && !isset($_SESSION['usrpass'])){
header("Location:login-acc.php");
exit;
}
Firefox の Web 開発ツールで Cookie をチェックしたところ、生成されていることがわかりました。
ログアウトしたいときは、簡単に言うと、すべてのセッションデータを消去してログインページにリダイレクトするページに移動するログアウトリンクがあります。アプリのテスト中にログアウト リンクをクリックすると、ログイン ページにリダイレクトされますが、戻って「インデックス ページ」リンクをクリックすると、それは私をすぐに入れさせます。
ログアウトファイルで、オーバーキルで問題を強制しようとしています笑、私はこれを持っていますが、何も機能していないようです。
unset($_SESSION['usrname']);
unset($_SESSION['usrpass']);
session_unset();
$_SESSION = array();
session_destroy();
setcookie('PHPSESSID', '', time()-3600,'/', '', 0, 0);
header("Location:login-acc.php");
exit;
ログインページにリダイレクトされますが、手動でインデックスページに移動すると、すぐに入ることができます。または、ログインページにリダイレクトされた後、「戻る」ボタンを押すと、すぐに入れます.
次に、FF Web 開発者ツール アプリに移動してすべての Cookie などを削除し、インデックス ページに移動すると、ロックアウトされます。
上記のように、複数のことを試してみましたが、最終的にはそれらをすべてまとめて、何かを行う必要があります。私の質問は、一般的にセッションを削除/設定解除/削除するためにこれらすべての機能を入れたので、他に何ができるでしょうか? 私はそれがどのように機能するのかについて少し迷っています。
誰かが私を正しい方向に導くことができますか?