title: PHP Digest auth, logout
body: <p>Is there a way to logout of a digest authentication done in php.</p>
  
  <p>I have tried unset($_SERVER["PHP_AUTH_DIGEST"]);
  But it wont ask to relogin.
  I know if i close the browser then it will work and here are my functions.</p>
  
  <pre><code>    function login(){
          $realm = "Restricted area";
          $users = array("jamesm"=&gt;"");
          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;
      }
  </code></pre>
  
  <p>What more do i need to add to the logout function to finish this off.</p>
  
  <p>If i change the realm it works but i don't want it to be changed.</p>