찾다

 >  Q&A  >  본문

사용자가 종료 후 다시 돌아오는 것을 방지

<p>사용자가 로그아웃한 후 뒤로 버튼을 클릭하여 보호된 페이지로 돌아가는 것을 원하지 않습니다. 내 로그아웃 코드에서 세션 설정을 해제하고 로그인 페이지로 리디렉션합니다. 그러나 브라우저가 페이지를 캐싱하고 있으므로 로그아웃으로 인해 세션이 파괴되었음에도 불구하고 여전히 표시됩니다. </p> <p>브라우저 캐싱을 허용하지 않음으로써 이 문제를 방지할 수 있습니다</p> <p><code>header("캐시 제어", "캐시 없음, 저장소 없음, 재검증해야 함")</code></p> <p>그러나 그러면 브라우저 캐싱의 이점을 잃게 됩니다. </p> <p>이를 달성할 수 있는 더 나은 방법을 제안해 주세요. 자바스크립트 클라이언트</p>를 통해 이 문제를 처리할 수 있는 방법이 있어야 한다고 생각합니다.
P粉029327711P粉029327711450일 전529

모든 응답(2)나는 대답할 것이다

  • P粉805931281

    P粉8059312812023-08-28 18:26:27

    저도 같은 문제에 직면하여 해결하는데 하루 종일 걸렸습니다. 최종 수정 내용은 다음과 같습니다.

    로그인 확인 스크립트에서 사용자가 인증되면 다음과 같이 세션 값을 설정합니다.

    으아악

    그런 다음 사용자 프로필 스크립트에 다음 코드 조각을 입력하세요.

    으아악

    위 코드가 하는 일은 $_SESSION['status'] 设置为 "Active" 사용자가 인증된 경우에만 이 세션 키가 "활성"으로 설정되는 경우에만 사용자 프로필로 이동한다는 것입니다... [부정 참고[' !'] 위의 내용에서]

    로그아웃 코드는 아마도 다음과 같을 것입니다:

    으아악

    이것이 도움이 되기를 바랍니다...!!!

    회신하다
    0
  • P粉613735289

    P粉6137352892023-08-28 11:20:58

    이 기능을 자바스크립트가 아닌 PHP로 구현하세요.

    모든 페이지 상단에서 사용자가 로그인되어 있는지 확인하세요. 그렇지 않은 경우 로그인 페이지로 리디렉션되어야 합니다:

    으아악

    언급한 대로 로그아웃할 때 login_in 세션 변수의 설정을 해제하고 세션을 삭제하세요.

    으아악

    사용자가 지금 다시 클릭하면logged_in 세션 변수를 사용할 수 없으며 페이지가 로드되지 않습니다.

    회신하다
    0
  • 취소회신하다