0

$_SESSION最後のユーザー アクティビティの瞬間を配列に保存する、単純なタイムアウト メカニズムを Web サイトに実装しました。

リクエストがサーバーに送信されたときにチェックします。最後のリクエストから 20 分以上経過している場合、ユーザーをログアウトすると、ユーザーはログイン ページに送られます。

しかし、Chrome に表示されるこの「リダイレクト ループ」メッセージが表示されます。私が犯しているよくある間違いはありますか?

(サーバー側の設定をいじる必要はありますか?)

ありがとう。

4

1 に答える 1

1

ログインページ自体がユーザーを無限にログインページにリダイレクトしているため、リダイレクトループが明らかに発生します。コードが表示されていないため、これが発生する理由は明確ではありませんが、これを修正すると問題は解消されます。

たとえば、新しく作成されたセッションを持つユーザー (つまり、リダイレクトする前にログアウトしたばかりのユーザー) の「最後の要求」の値がゼロのタイムスタンプ (1970 年 1 月 1 日) である場合、これは 20 分以上と見なされます。これにより、別のログアウト/リダイレクトなどがトリガーされる可能性があります。

于 2012-05-22T21:13:40.080 に答える