Frage

Okay, ich benutze keine Sitzungsvariablen, sondern mein Code sieht so aus:

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']; 

Meine Frage ist also, wie kann ich diese Anmeldesitzung zerstören, wenn sich der Benutzer von seinen (in diesem Fall) Twitter -Login -Anmeldeinformationen abmelden möchte?

War es hilfreich?

Lösung

Alles was Sie tun können, ist einen weiteren 401 -Header zu senden. Der Browser "Vergessen" normalerweise den alten Wert, popt ein anderes Benutzer-/Pass -Eingangsdialog. Wenn Benutzer die Schaltfläche "Abbruch" drücken, sind sie "protokolliert". Zwei Nachteile:

  • Das Dialog "Anmeldung zum Abmelden abmelden" kann die Benutzer ein wenig überraschen
  • "Normalerweise" bedeutet: besser nicht davon abhängig.

Bearbeiten: und wurde bereits beantwortet, HTTP -Authentifizierungsanmeldung über PHP

Andere Tipps

Es gibt keine Möglichkeit, eine HTTP -Authentifizierungs -Login -Server -Seite zu zerstören. Dies ist einer der größten Nachteile dieser Form der Anmeldung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top