0

セッション スクリプトに問題があります。セッションが必要なすべてのファイルにこのファイル呼び出し functions.php を含めます。

<?php

session_start(); {

  if(isset($_SESSION['username']) && !empty($_SESSION['username'])) {
    return true;
    } else {
    return false;
    }

  }

?>

そして、このファイルを使用してログアウトします。logout.php と呼ばれる

<?php
include('functions.php');
session_destroy();
// We redirect them to the login page
header("Location: homepage.php");
die("Redirecting to: homepage.php");
?>

ユーザーがログアウトリンクをクリックしたときに、メンバーエリアに戻って再度ログインできないように、誰かが修正するのを手伝ってくれますか?

4

2 に答える 2

1

わかりました、問題はこれだったと思います.logout.php内でセッションを破棄するだけで、セッション変数をクリアしません. ドキュメントをご覧ください。

あなたの場合、ホームページに戻るたびにセッションを再開するため$_SESSION['username']、変数をクリアせずにログインしたため、にアクセスできます。

あなたの問題の解決策は

<?php
include('functions.php');
session_unset(); // need to be called before session_destroy()
session_destroy();
// We redirect them to the login page
header("Location: homepage.php");
die("Redirecting to: homepage.php");
?>

または、logout.php スクリプト内を単純にクリアすることもでき$_SESSION['username']ます。必ずしもセッションを破棄する必要はまったくありません。

お役に立てれば

于 2013-05-11T06:42:50.980 に答える
0

ページを表示しているブラウザのキャッシュである可能性があります。ログアウトし、キャッシュをクリアしてから戻ると、同じことが起こりますか?

役立つかもしれない以前の質問を見つけました: 戻るボタンが安全なページを公開するのを止めますか?

于 2013-05-11T00:13:12.160 に答える