2012-03-01 7 views
3

내 웹 사이트에서 세션을 파괴하지만 사용자가 브라우저를 다시 누르면 마지막 페이지를 볼 수 있습니다.뒤로 버튼을 클릭하면 마지막으로 보호 된 페이지를 볼 수 있습니다.

어떻게 해결할 수 있습니까? 내가 자바 스크립트를 시도했지만 작동하지 않았다. 세션을 설정하지 않거나 삭제하려고 시도했지만 작동하지 않습니다. 내가 할 수있는 것 ?

헤더에서이 코드를 사용합니다.

Header('Cache-Control: no-cache'); 
Header('Pragma: no-cache'); 

어떻게 해결할 수 있습니까? 당신의 도움을 주셔서 감사합니다.

+0

왜 중요한가요? 앱이 인증 등을 제대로 수행하면 어쨌든 아무 것도 할 수 없습니다 .... – cHao

+0

알지만 고용주는 그 페이지를보고 싶지 않습니다 :) @cHao –

+0

글쎄, 그렇다면 고용주는 웹 브라우저가 어떻게 작동하는지 알지 못합니다. – cHao

답변

2

수 없습니다. 이 페이지는 클라이언트에게 보내졌으며, 클라이언트는이를 어떻게 처리할지 결정합니다.

이 동작과 사진 메모리가있는 사용자의 차이점은 무엇입니까?

진짜 질문은 : 왜 이것을하고 싶습니까?

+0

클라이언트가 메모리 또는 디스크 캐시에서 페이지를로드하는 경우에만 해당됩니다. 아마도 @ SahinYanlık은 이것이 사실인지 아닌지를 확인해야합니다 (예 : 웹 서버 로그를 확인). –

+0

@AnotherCode 클라이언트가 페이지를 이전에 본 경우 이는 서버 또는 캐시에서 액세스 한 것임을 의미합니다. 따라서 사용자가 다시 방문하지 못하게 할 수 있습니다. –

0

브라우저에 캐시가있는 경우 정확하게 제어 할 수 없습니다. 당신이 할 수있는 최선의 방법은 생성시 페이지에 타임 스탬프를 찍는 것입니다 (아마도 숨겨진 필드를 사용하는 것입니다). 그리고 타임 스탬프가 약간의 한계를 초과 한 이후 시간이 발견되면 페이지를 리디렉션하거나 포맷하는 자바 스크립트 onLoad를 사용하십시오.

하지만 다른 사람의 기록을 보는 사람을 막을 수는 없습니다. 오직 하나의 역사를 지우는 것이 그렇게 할 것입니다.

0

dom : loaded 이벤트에서 javascript (아마 AJAX)로 세션을 확인해야합니다. 세션이 삭제되면 사용자를 리디렉션 할 수 있습니다. 또한이 방법을 선택한 경우 세션 유효성 검사 후 AJAX로 콘텐츠를 가져와야합니다.

관련 문제