728x90
728x90
로그아웃 후 조회하던 이전 페이지를 볼 수 없게 하려면 대략 이런 것들을 생각해 볼 수 있습니다.
1) no-cache와 쿠키(세션)을 이용한 방법
- header와 meta 태그에 no-cache 적용
- 각 페이지별 로그인 여부 검증 (쿠키 or 세션) 후 로그인이 아닐 경우 페이지 이동 ( Header 방식 )
2) 로그아웃 부분에 강제 IE 종료 JavaScript를 넣어 브라우져를 닫는 방법
3) 모든 페이지 이동을 JavaScript의 Replication 으로 동작 하게 변경
단 에디팅에서 submit 되는 영역은 Replication이 불가능 하기 때문에
ajax로 폼 전송 후 JavaScript Replication 처리
아래는 로그아웃 후 뒤로가기 (Backspace) 를 막는 방법입니다.
1. history에 현재 페이지를 추가하고, 뒤로가기 시 현재 페이지로 이동해 안되게 합니다.
history.pushState(null, null, location.href);
window.onpopstate = function(event) {
history.go(1);
};
// 출처: https://vicki.tistory.com/1487 [불친절한자수씨]
2. 간단한 방법으로 위와 결과는 유사합니다.
window.history.forward();
function noBack(){
window.history.forward();
}
<body onload="noBack();" onpageshow="if(event.persisted) noBack();" onunload="">
3. 내가 사용한 방법
위 방법들은 뒤로 가기 한 번만 막고 두 번 뒤로가면 그대로 넘어가기 때문에 의미가 없어서 세션 키 검사를 통해 로그인 후 생성된 유저키 세션이 있으면 유지하거나 뒤로가기가 가능하고 로그아웃이 되어 세션이 없으면 뒤로가기를 막게끔 했습니다. 아래 코드를 로그인 화면을 제외한 다른 화면에 넣었습니다. 일정 시간마다 세션을 체크하는 코드입니다.
function CheckSession() {
if (sessionStorage.getItem("loginKey") == null) {
window.location = "로그인화면주소";
}
}
setInterval(CheckSession(), 100);
728x90
728x90
'Javascript' 카테고리의 다른 글
css 동적 로딩방식 (0) | 2020.12.09 |
---|---|
JS 확인 취소 팝업창 띄우기 (0) | 2020.11.30 |
JS 윈도우창 닫기 버튼 클릭 이벤트 감지(beforeunload) (0) | 2020.11.26 |
JS 글자수 체크(공백포함, 제외) 및 언어 옵션 설정 (0) | 2020.11.25 |
세션 종료 (로그아웃) 구현 (0) | 2020.11.23 |