CI 묻고 답하기

제목 세션과 페이지 URL 노출 관련 질문입니다.
글쓴이 제닉 작성시각 2011/03/09 01:08:13
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 20736   RSS
제가 요즘 간단한 웹엡을 작성중인데요. 세션에 관해서 궁금증이 생겨서 질문합니다.

일단 제가 구현한 건 간단한 User Authentication 기능인데요. 심플하게 CI_Controller를 상속받는
컨트롤러를 만들고 그곳에서 세션을 확인하여 리다이렉트를 해줍니다. 그리고 다른 유저 확인이
필요한 컨트롤러들은 제 Session 관련 컨트롤러를 상속받아 작성을 해서 자동으로 리다이렉트가
되도록 만들었습니다. 기본적으로 작동은 합니다만 문제는 브라우져의 페이지 캐슁입니다.
로그아웃을 하면 자동으로 리다이렉트를 해줌으로써 정상적으로 작동을 하는듯 보이지만 로그아웃 후
로그인이 필요한 페이지로 (물론 이미 로그인 된 상태로 본적이 있는) 직접 URL을 쳐서 들어가면
새로고침을 하기전까지는 로그인 된 상태의 데이터가 보여집니다. 브라우져가 캐슁을 한 화면이
보이는 것이죠. 혹시 이 문제를 해결하는 방법이 있나요?

또 다른 질문은 페이지 URL이 노출되는 문제는 어떻게 해결을 하시나요? 마음 같아서는 유저가
엑세스 할수 있는 컨트롤러/함수 이외에는 모두 앞에 __를 붙여서 엑세스가 불가능하게 하고 싶습니다만
뷰의 콜(form submit이라든지)에서 문제가 생기네요. 제가 디자인을 잘 못한 것일까요? 다른 분들께서는
바로 위에 말한거 처럼 유저가 직접 엑세스를 할수 있는 기본 페이지/함수를 제외하고는 모두 __를
붙이십니까?
 다음글 [초보]ci2.0 third_party의 사용방법 (2)
 이전글 [초보]ci2.0 모듈러의 사용 (2)

댓글

변종원(웅파) / 2011/03/09 08:58:38 / 추천 0
첫번째 경우는 다른 컴퓨터에서도 동일한 증상이 생기는지 확인해보셔야 할것 같습니다. 두번째는 _를 붙여 내부에서만 호출하게 하기도 하고 심한 경우는 아이피체크로 특정 아이피에서만 접근하게 하기도 합니다. Post전송 같은 경우 그래서 captcha나 인증키를 사용햐여 전송 전후를 비교하는 방법을 사용합니다. 기능을 확실하게 나눠서 _로 처리할 것, 보안을 강화할 것으로 구분해서 작업하시는게 좋을 것 같습니다.