PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : HTTP Authentifikation


hatbanger
03.04.2002, 13:38:12
Hallo Forum,


Folgender Programmcode:

// Authentifizieren
function authorize() {
global $PHP_AUTH_USER;
global $PHP_AUTH_PW;
global $db;
if(!isset($PHP_AUTH_USER)) {
header("WWW-Authenticate: Basic realm="MyRealm"");
header('HTTP/1.0 401 Unauthorized');
return false;
exit; }
else {
$sql_query = "SELECT * FROM users WHERE name='$PHP_AUTH_USER' AND password=PASSWORD('$PHP_AUTH_PW')";
$sql_result = mysql_query($sql_query, $db);
if (mysql_numrows($sql_result) == 0) {
header("WWW-Authenticate: Basic realm="MyRealm"");
header('HTTP/1.0 401 Unauthorized');
return false;
exit; }
else {
return true; }
}
}

Folgendes Problem:
Nachdem man als registrierter User erkannt wurde, sind ja die beiden Variablen $PHP_AUTH_USER und $PHP_AUTH_PW gesetzt (d.h. es findet keine Passwortabfrage mehr statt, bis man alle Browserinstanzen geschlossen hat). Wie kann man diese beiden Variablen wieder leeren ?
Mit $PHP_AUTH_USER = ""; hab ich es versucht, aber das nützt nichts, beim nächsten Seitenaufruf sind die Variablen wieder gesetzt.
Geht das überhaupt oder muß man immer den Umweg gehen, die Browserfenster zu schließen, um sich sicher abzumelden ?

PS: Dieser Code ist gedacht für ein Intranet, bei dem ALLE User MSIE verwenden. Könnte ja sein, daß bei Netscape dieses Problem überhaupt nicht auftritt, aber das würde mir nicht helfen.

Danke für eure Hilfe

Benjamin :-)