これは奇妙なバグで、何が起こっているのか把握する方法がわかりません。ブラウザバックボタンを2回すばやくクリックすると、ユーザはケーキアプリにログアウトされます
私たちはデータベース内のセッションでCake 1.3.8を使用しています。私はACLやその他のアクセス制御を使用していません。私たちがアプリケーションに入り込んで少しだけクリックして、ブラウザの戻るボタンを2回(FirefoxとChromeで試してみました)すばやくクリックすると、ユーザーは頻繁にログアウトされ、「あなたは権限がありませんその場所にアクセスする '。
これまでの検索では、ユーザーがログアウトしてから戻るボタンを使用した場合、ページをアクセス不能にしたいと思っていました。私が見ている問題に関しては何も報告されていません。
これはケーキの問題であるかどうか、誰かが知っているか、何がうまくいかないのかをデバッグすることについて考えていますか?
更新:問題のある箇所が見つかりました。誰かがブラウザを閉じるたびにセッションを閉じる必要があるので、私はセキュリティを高く設定しています。私はS3への大規模なバイナリアップロードを行うため、タイムアウトを非常に高く設定しています。アップロードまたはダウンロード中にユーザーがログアウトしないようにしてください。問題を引き起こしているcake_sessions.php内のコードの特定のブロックである:
$time = $this->read('Config.time');
$this->write('Config.time', $this->sessionTime);
if (Configure::read('Security.level') === 'high') {
$check = $this->read('Config.timeout');
$check -= 1;
$this->write('Config.timeout', $check);
if (time() > ($time - (Security::inactiveMins() * Configure::read('Session.timeout')) + 2) || $check < 1) {
$this->renew();
$this->write('Config.timeout', 10);
}
}
$this->valid = true;
私はうんざりしましたが、これは実際に問題があったのです。私はcake_sessions.phpを変更して、ブラウザが閉じたときに終了するセッションを、あらゆるレベルのセキュリティに対して、私が望む動作にしました。次に、セキュリティレベルをmediumに設定しました。戻るボタンで人がログアウトしなくなりました。 –