이것은 이상한 버그이며, 무슨 일이 일어나고 있는지 파악하는 방법조차 모릅니다.신속하게 브라우저 뒤로 버튼을 두 번 클릭하면 사용자가 케이크 앱에 로그 아웃됩니다.
우리는 데이터베이스에서 세션과 함께 Cake 1.3.8을 사용하고 있습니다. ACL이나 기타 액세스 제어를 사용하지 않습니다. 우리가 응용 프로그램을 탐색하고 조금 클릭 한 다음 브라우저 뒤로 버튼을 두 번 클릭하면 (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를 변경하여 결국 브라우저가 닫을 때 세션이 끝나는 세션을 모든 수준의 보안에 제공했다. 그런 다음 보안 수준을 보통으로 설정했습니다. 뒤로 단추는 더 이상 사용자를 기록하지 않습니다. –