개발 Q&A

제목 문제 해결좀...로그아웃 후 뒤로가기를 이용해서.. 이전 페이지의 내용이 보입니다.
글쓴이 슈럭 작성시각 2012/07/03 11:20:42
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 26422   RSS
안녕하세요.

CI를 이용해서 프로젝트를 진행중입니다.

그런데... 이상하게도... 뒤로가기를 하면 이전페이지가 모두 보여집니다.



처음... 로그인 후 다음 페이지에서 뒤로가기를 눌렀더니..
로그인 되어있는데도 불구하고 로그인 페이지를 그대로 보여주더군요...

1. 로그인페이지로 이동
2. ID/PW 입력 후 로그인 버튼
3. 로그인인증 후 redirect('list'); == 목록페이지로 이동.
4. 뒤로가기(backspace)
5. 로그인페이지를 시도하였으나 이미로그인 되었으므로 다시 목록페이지....

이게 제가 생각한 시나리오입니다.

그런데...
5. 에서 목록페이지가 아닌 로그인페이지를 그냥 보여줍니다.

그래서 혹시나 해서...

1. 로그인
2. 목록페이지
3. 뷰페이지
4. 수정페이지
5. 로그아웃
6. 뒤로가기 -> 수정페이지가 보입니다.
7. 뒤로가기 -> 뷰페이지가 보입니다.
8. 뒤로가기 -> 목록페이지가 보입니다.
9. 뒤로가기 -> 로그인페이지가 보입니다.

아.... 이걸 어떻게 해결해야 할까요???
 다음글 SQL JOIN 질문 드립니다; (2)
 이전글 원하는 갯수를 조정하기 (3)

댓글

변종원(웅파) / 2012/07/03 11:35:32 / 추천 0
뒤로 가기는 말 그대로 뒤로 가기입니다. 로그인 한건지 안한건지 체크하지 않습니다.


검색사이트에서 no-cache 검색해서 적용해보세요.
슈럭 / 2012/07/03 12:40:49 / 추천 0
문제는 이게 보안에 치명적이라는 겁니다.

누가 공용으로 쓰는 PC에서 업무를 보다가 로그아웃하고 브라우져는 그냥 켜놨는데.. 다른사람이 뒤로가기를 해서 모든 내용을 다 볼수가 있다는거에요..

물론 로그인 되지 않았으므로 값을 변경하진 못하지만.. 데이터가 공개되는게 문제죠.

-
방법이 없을까요? 쉽지 않네요.
인스카 / 2012/07/04 09:59:45 / 추천 0
이걸 해결하려면 방법은.. 모든 페이지에서 현재 로그인중인지 아닌지를 ajax 등을 이용하여 주기적으로 체크하면 되지 않을까요?
한대승(불의회상) / 2012/07/04 12:26:26 / 추천 0
ajax 기법을 잘 모를경우엔 히든 프레임이 답이 될지도 모르겠네요.
불멸의새 / 2012/07/10 07:44:22 / 추천 0
1) no-cache와 쿠키(세션)을 이용한 방법
  - header와 meta 태그에 no-cache 적용
  - 각 페이지별 로그인 여부 검증 (쿠키 or 세션) 후 로그인이 아닐 경우 페이지 이동 ( Header 방식 )

2) 로그아웃 부분에 강제 IE 종료 JavaScript를 넣어 브라우져를 닫는 방법

3) 모든 페이지 이동을 JavaScript의 Replication 으로 동작 하게 변경
   단 에디팅에서 submit 되는 영역은 Replication이 불가능 하기 때문에
   ajax로 폼 전송 후 JavaScript Replication 처리