Hi,
das stimmt nicht so ganz... das ganze IST möglich!!! Mein Provider macht da z.B. folgendes:
http://kis.hosteurope.de/abmelden.php?logoff=1
und mein System ist auch nicht anders:
if(!isset($PHP_AUTH_USER)) {
Header("WWW-Authenticate: Basic realm=\"Mein Bereich\"");
Header("HTTP/1.0 401 Unauthorized"); //auf diese Seite wird der User geschickt wenn er sich falsch authorisiert.
Header("Location: canceled.php"); //auf diese Seite wird der User geschickt wenn er den Cancel-Button klickt.
exit;
} else {
echo "Hallo User $PHP_AUTH_USER mit Passwort $PHP_AUTH_PW.";
}
?>
über das Interne System kann ich wenn ich auf ausloggen klicke mich aus dem System abmelden. Es kommt erneut die Graue Box und ich werde aufgefordert mein Password einzugeben. Drücke ich dann auf abbrechen, steht dort... Ausloggen erfolgreich. Nach meinen Kenntnissen muß man eine Seite zurücksenden, die den Fehlercode 401 Unauthorized enthält (mit der Funktion header). Dieser Fehlercode veranlaßt den Browser, nach Username und Paßwort zu fragen (auch dann, wenn er schonmal Username und Paßword kannte). Hat der User die Angaben getätigt, wird der Browser die GLEICHE Seite noch einmal abrufen und erwartet dann 200 OK als Code.
Infos zu header():
http://www.php.net/manual/en/function.header.php
Infos zu HTTP-Headern:
http://www.w3.org/Protocols/rfc2616/rfc2616, insbesondere der Bereich über Response-Codes:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6
Edit:
steht aber nochmal hier:
http://www.usegroup.de/software/phptutorial/ausgabefunktionen.html#authenticate
---
Bastian_W
------
Real programmers don't comment their code. It was hard to write, so it should be hard to read.