Mailinglisten-Archive |
Hallo PHP-ler,
ich bin gerade dabei an einer Authentifizierung fuer eine WebSite zu
schrauben. Das Passwort steht verschluesselt in meiner Datenbank.
Authentifizierung abbrechen funktioniert - wenn ich ein falsches
Passwort eingebe, dann erhalt ich irgendwann auch "Access Denied!" ...
beim richtigen Passwort und User aber auch :-( !
Frage ich meine Datenbank manuell mit:
"select * from user where usr='$usr' and PASSWORD('$pw')"
ab, dann erhalte ich auch das gewuenschte Ergebnis - warum funktioniert
das ueber die webseite nicht?
Das php-Script sieht so aus:
--------------------------------------------------------------------------------------
<?php
/* bei Abbrechen ............................................. */
if(!isset($PHP_AUTH_USER)) {
Header( "WWW-authenticate: basic realm=\"MSW Newsletter\"");
Header( "HTTP/1.0 401 Unauthorized");
$title= "Login Instructions";
echo "<html><head></head><body>Authentifizierung
abgebrochen!</body></html>";
exit;
}
else {
mysql_connect(localhost, "msw", "xxx") or die( "Unable to
connect to SQL server");
mysql_select_db( "msw") or die( "Unable to select database");
$usr=$PHP_AUTH_USER;
$pw=$PHP_AUTH_PW;
$result = mysql( "select * from user where usr='$usr' and
PASSWORD('$pw') ");
$num = mysql_numrows($result);
/* pw oder usr falsch
............................................. */
if(!$num) {
Header( "WWW-authenticate: basic realm=\"MSW
Newsletter\"");
Header( "HTTP/1.0 401 Unauthorized");
$title= "Login Instructions";
echo "<html><head></head><body>Access Denied!</body></html>";
exit;
}
else {
..... blabla ....
}
mysql_close();
?>
--------------------------------------------------------------------------------------
... zugegeben ich hab ein wenig gekupfert ...
Ralf Geschke schrieb:
>
> Ein (wenig kommentiertes, aber dafuer voll funktionsfaehiges) Demo zur
> Verwendung der Variablen $PHP_AUTH_USER bzw. $PHP_AUTH_PW liegt unter
> http://infosoc.uni-koeln.de/php/demo/
gruss
anne
----------------
ahuebner_(at)_msw.net
php::bar PHP Wiki - Listenarchive