PHP로 수행 된 다이제스트 인증을 로그 아웃하는 방법이 있습니까?PHP 다이제스트 인증, 로그 아웃
설정을 취소했습니다. ($ _ SERVER [ "PHP_AUTH_DIGEST"]); 하지만 relogin을 요청하지 않습니다. 브라우저를 닫으면 작동하고 여기에 내 기능이 있는지 확인합니다.
function login(){
$realm = "Restricted area";
$users = array("jamesm"=>"");
if (empty($_SERVER["PHP_AUTH_DIGEST"])) {
header("HTTP/1.1 401 Unauthorized");
header("WWW-Authenticate: Digest realm=\"{$realm}\",qop=\"auth\",nonce=\"".uniqid()."\",opaque=\"".md5($realm)."\"");
return false;
}
if (!($data = http_digest_parse($_SERVER["PHP_AUTH_DIGEST"])) || !isset($users[$data["username"]]))
return false;
$A1 = md5($data["username"] . ":{$realm}:{$users[$data["username"]]}");
$A2 = md5($_SERVER["REQUEST_METHOD"].":{$data["uri"]}");
$valid_response = md5("{$A1}:{$data["nonce"]}:{$data["nc"]}:{$data["cnonce"]}:{$data["qop"]}:{$A2}");
if ($data["response"] != $valid_response)
return false;
return true;
}
function logout(){
unset($_SERVER["PHP_AUTH_DIGEST"]);
return true;
}
더 이상 로그 아웃 기능을 추가해야합니까?
영역을 변경하면 작동하지만 변경하지 않으려합니다.
[PHP를 통한 HTTP 인증 로그 아웃] (http://stackoverflow.com/questions/449788/http-authentication-logout-via-php)이 중복되었습니다. 대답 : No. – netcoder
나는 그것을 할 수 있다는 것을 알고있다. –
정보가 브라우저 내에 등록되어 있기 때문에 브라우저를 닫는 유일한 방법입니다 – ajreal