Einzelnen Beitrag anzeigen
  #1  
Alt 03.04.2002, 14:38:12
hatbanger hatbanger ist offline
Anfänger
 
Registriert seit: Apr 2002
Beiträge: 1
HTTP Authentifikation

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 :-)
Mit Zitat antworten