3

クロムでは、次の問題が発生しています。

  • ユーザー名とログイン セッションの Cookie を作成するユーザー名とパスワードでログインします。
  • メインページを表示(ログインセッションをチェックするスクリプトがあります)
  • ログアウト
  • メインページを表示しようとしています。しかし、ログイン画面/ホームに戻ります。
  • 更新して、メイン ページを表示してみてください。ログイン画面に戻りました。
  • 他のサイトを参照します。
  • に戻るとexample.com/mainpage.php、(以前のユーザー名で)表示できるようになりました

問題は、明らかにサイトに戻ったときに、ユーザーがまだログアウトしていて、ログインするまで mainpage.php を表示できないことです。

私はこれに非常に当惑しています。気まぐれで、これが他のブラウザでどのように処理されているかを確認しました。また、Safari、Firefox、IE では問題は発生しません。ユーザーを適切にホームページに戻します。

クロムがセッションを適切に終了するのではなく「中断」しているように見え、サイトに戻るとセッションが再現されます。

関連するスクリプトは次のとおりです。

// log out script
session_start();
setcookie("username", "", time()-360000);
setcookie("token", "", time()-360000);
$_SESSION["Login"] = "no";


// The mainpage script
if ($_SESSION["Login"] != "YES")
  header("location: home.php");
4

1 に答える 1

0

解決策を見つけました。まだ困惑している人のために、ここでそれを文書化すると思いました.

どういうわけか (私を超えて) ワイルドカード リダイレクトは www を凝縮していませんでした。そして非www。サイトへのアクセスも同じです (すべて www. を使用しました)。

その結果、何らかの理由で一部のページがダブ ダブ ダブで処理され、他のページは処理されませんでした。これは特に、サイトを離れて再度アクセスする場合に当てはまりました... www バージョンではログアウトによりセッションが終了しましたが、吹き替えなしのバージョンに戻って「ああ、まだログインしている」のようでした。

于 2012-08-02T15:38:08.497 に答える