브라우져의 히스토리를 삭제하고싶다.
결제 페이지에 갔다가 결제를 마치고 뒤로가기 버튼을 마구 누른다
안드로이드 단말에 Back키를 마구마구 누른다
대부분의 메이져 사이트들은 나름의 방식으로 이전페이지로 돌아가는걸 막아놨다
완벽하진 않지만 여러가지 방법을 사용해서
하지만 결론부터 이야기 하자면
브라우져의 히스토리를 삭제하는건 불가능하다
보.안. 때문에
브라우져의 히스토리를 마음대로 수정하는게 보안에 큰 문제가 될까?
아래의 소스를 보면 열심히 구글링한 결과를 확인 할 수 있다.
대부분의 참고한 사이트에서는
history 객체의 length를 이용해서 history 사이즈를 얻어 온 다음
go() 함수를 이용해서 첫번째 페이지로 이동을 시킨다
그러면 첫 페이지로 이동은 되겠지만 히스토리가 삭제 된것은 아니다
뒤로가기 버튼을 누르면
마구마구 페이지가 이동하는 모습을 볼 수 있다.
두번째 replace() 함수를 사용하는 것이다.
(참고 location.href 와 location.replace() 차이점 비교 http://blog.naver.com/PostView.nhn?blogId=polpoipol&logNo=140127509535)
replace() 함수를 사용하면 히스토리가 쌓이지 않는다.
하지만 replace() 함수도 문제점이 있다.
우리는 대부분 페이지 이동시 단순한 페이지 이동이 아닌 서버를 통한 페이지 이동을 하기 때문이다.
보통의 경우는 페이지에서 submit()이 일어난다.
즉, replace() 함수를 사용 할 수 없다.
window.history 를 삭제 할 수 없기 때문에 다른 꼼수(?)를 고민해 봐야 할 것 같다
출처: http://noviceany.tistory.com/43 [novice in anything]
'javascript' 카테고리의 다른 글
javascript 이전 url 주소 알아내기 (0) | 2019.06.26 |
---|