답변 2개
채택된 답변
+20 포인트
9년 전
로그인이 풀려서 그런게 아니라 로그인페이지가 로그인후 뒤로가기 했을때 캐시된 내용이 출력되서 그럴겁니다.
head.sub.php 의 <head>태그 안에 (가급적 위쪽에) 아래처럼 해보세요
</p><p>//login.php에서는 페이지 캐시 안하기</p><p>if(strtolower(basename($_SERVER['SCRIPT_NAME']))=='login.php') {</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>header('Pragma: no-cache'); // HTTP/1.0</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>header('Cache-Control: no-cache'); // HTTP/1.1</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>header('Expires: -1'); // rfc2616 - Section 14.21</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>echo '<meta http-equiv="Cache-Control" content="no-cache"/>'.PHP_EOL</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>.'<meta http-equiv="Expires" content="-1"/>'.PHP_EOL</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>.'<meta http-equiv="Pragma" content="no-cache"/>'.PHP_EOL</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>.'<meta http-equiv="Pragma" content="no-store"/>'.PHP_EOL;</p><p>}</p><p>
이렇게 하면 로그인페이지로 뒤로가기 하더라도 로그인된 상태가 확인되어 저절로 메인페이지로 이동될겁니다.
다만 아웃로그인(본문페이지내의 로그인창)은 적용이 안될겁니다.
이렇게 했는데 아웃로그인등 다른곳에서 딴지를 건다면.. 글쓰기하다가 에러가 났을때 뒤로가기 해서 내용이 다 날라가도 상관이 없다면 login.php만이 아니라 if문을 제거하고 전체적용 해버리는 방법도 있겠습니다만 권장하는 방법은 아니겠네요.
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인