문제

좋아, 그래서 나는 세션 변수를 사용하지 않고 오히려 내 코드가 다음과 같습니다.

if (!isset($_SERVER['PHP_AUTH_USER'])) {
    header('WWW-Authenticate: Basic realm="Enter your Twitter username and password:"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Please enter your Twitter username and password to view your followers.';
    exit();
}

$username = $_SERVER['PHP_AUTH_USER'];
$password = $_SERVER['PHP_AUTH_PW']; 

따라서 내 질문은 사용자가 (이 경우) Twitter 로그인 자격 증명에서 로그 아웃하려고 할 때이 로그인 세션을 어떻게 파괴 할 수 있습니까?

도움이 되었습니까?

해결책

당신이 할 수있는 것은 다른 401 헤더를 보내는 것입니다. 브라우저는 일반적으로 이전 값을 "잊어 버리고"다른 사용자/패스 입력 대화 상자를 팝업하고 사용자가 "Abort"버튼을 누르면 "로그 아웃"됩니다. 두 가지 단점 :

  • "로그 아웃에 로그인 중단"대화 상자는 사용자가 약간 놀랄 수 있습니다.
  • "보통"은 다음과 같이 의존하지 않는 것이 좋습니다.

편집 : 이미 대답을 받았습니다. PHP를 통한 HTTP 인증 로그 아웃

다른 팁

HTTP 인증 로그인 서버 측면을 파괴하는 방법은 없습니다. 이것은이 형태의 로그인의 가장 큰 단점 중 하나입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top