php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.03.2005, 14:30  
Gast
 
Beiträge: n/a
Standard einfacher Kennwortschutz:WWW-authenticate: basic realm=\&quo

Hallo,

ich beschäftige mich gerade mit einem "Kennwortschutz". Auf der Seite von Internet Professionell habe ich mir ein Beispiel-Skritp herunter geladen.

Fragen:

- Warum funktioniert es bei mir zuhause, aber nicht im Netz?
- Wie "deutlich" sicherer wäre es wenn ich $PHP_AUTH_USER mit md5() verschlüsseln würde und das verschlüsselte Passwort anstatt dem Klartext-Passwort speichern würde?
- Werden $PHP_AUTH_PW und $PHP_AUTH_USER vom Webserver joder PHP gesetzt?

Bei mir zuhause funktioniert es einwandfrei, im Netz nicht mehr:

Code:
<? 
// Einfacher Username und Kennwort 
// Achtung: Extrem unsicher, nur 
// zu Demo-Zwecken 
$NAME_REQUIRED = "ipro"; 
$PW_REQUIRED = "test"; 

//Authentifizierung 
function authenticate(){ 
      Header("WWW-authenticate: basic realm=\"Internet Professionell\""); 
      Header("HTTP/1.0 401 Unauthorized"); 
      echo "Nicht berechtigt"; 
      exit; 
} 

// Ueberpruefen, ob schon ein User 
// gesetzt ist, wenn nein, 
// dann Kennwort abfragen 
if (!isset($PHP_AUTH_USER)) 
     authenticate(); 
     else { 
         if(($NAME_REQUIRED == $PHP_AUTH_USER) && 
                      ($PW_REQUIRED == $PHP_AUTH_PW)) 
                echo ("Hallo $PHP_AUTH_USER"); 
         else 
           authenticate(); 
} 
?>
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 29.03.2005, 14:41  
Gast
 
Beiträge: n/a
Standard Re: einfacher Kennwortschutz:WWW-authenticate: basic realm=\

Zitat:
Zitat von atreidis
Auf der Seite von Internet Professionell habe ich mir ein Beispiel-Skritp herunter geladen.
Das Script ist steinalt.

Zitat:
Fragen:
- Warum funktioniert es bei mir zuhause, aber nicht im Netz?
KA, wie Deine Config "zu Hause" und "im Netz" aussieht.

Zitat:
- Werden $PHP_AUTH_PW und $PHP_AUTH_USER vom Webserver joder PHP gesetzt?
Nur wenn Du eine ebenso alte PHP Version verwendest.

Einfach mal mit einem phpinfo kontrollieren, wie die Variablen wirklich heißen.

btw: Dein Script funktioniert nur dann, wenn PHP als Apache Modul vorliegt.
 
Alt 29.03.2005, 15:50  
Gast
 
Beiträge: n/a
Standard Re: einfacher Kennwortschutz:WWW-authenticate: basic realm=\

Zitat:
Zitat von meikel
Zitat:
Zitat von atreidis
Auf der Seite von Internet Professionell habe ich mir ein Beispiel-Skritp herunter geladen.
Das Script ist steinalt.
Nur weil es vor einer Ewigkeit entstanden ist, muss es doch nicht schlecht sein, oder? Sollte ich's anders machen?

Zitat:
Zitat von meikel
Einfach mal mit einem phpinfo kontrollieren, wie die Variablen wirklich heißen.
phpinfo() hat nichts von $PHP_AUTH_USER o.ä. "zuhause" (PHP-4.3.4) angezeigt, mein Webspace ist bei Lycos, PHP-4.3.2. D.h. zuhause ist neuer als bei Lycos und phpinfo() zeigt nichts von der Variablen $PHP_AUTH_USER an, trotzdem funktioniert's??

Hätten die Variablen in der Tabelle "PHP Variables" erscheinen müssen?

Zitat:
Zitat von meikel
btw: Dein Script funktioniert nur dann, wenn PHP als Apache Modul vorliegt.
Das ist dann wahrscheinlich bei mir zuhause der Fall (ich benutze xampp) und im Netz nicht mehr. Das würde einen Teil von dem merkwürdigem oben beschriebenem Verhalten erklären. Warum $PHP_AUTH_USER u.a. Variablen nicht angezeigt werden und es aber trotzdem funktioniert, weiß ich noch nicht...
 
Alt 29.03.2005, 15:53  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

läuft es bei Lycos vieleicht im CGI-Modus? mal nen link zu ner phpinfo posten?
robo47 ist offline  
Alt 29.03.2005, 16:52  
Gast
 
Beiträge: n/a
Standard Re: einfacher Kennwortschutz:WWW-authenticate: basic realm=\

Zitat:
Zitat von atreidis
Zitat:
Zitat von meikel
Zitat:
Zitat von atreidis
Auf der Seite von Internet Professionell habe ich mir ein Beispiel-Skritp herunter geladen.
Das Script ist steinalt.
Nur weil es vor einer Ewigkeit entstanden ist, muss es doch nicht schlecht sein, oder? Sollte ich's anders machen?
Ja.
PHP-Code:
<?php
function check_pw($u$p) {
 return (
$u == 'testuser' AND $p == 'testpasswort')
   ? 
true
   
false;
}

if (! isset(
$_SERVER['PHP_AUTH_USER']) 
 or !
check_pw($_SERVER['PHP_AUTH_USER'] , $_SERVER['PHP_AUTH_PW']))
{
    
Header("WWW-Authenticate: Basic realm=\"My Realm\"");
    
Header("HTTP/1.0 401 Unauthorized");
    echo 
"Text to send if user hits Cancel button\n";
    exit;
} else {
    echo 
'Hello ' $_SERVER['PHP_AUTH_USER']. '

'
;
    echo 
'You entered ' $_SERVER['PHP_AUTH_PW'] as your password '

'
;
}
?>
Zitat:
Hätten die Variablen in der Tabelle "PHP Variables" erscheinen müssen?
Ja. Letzte Tabelle: $_SERVER[...]

Zitat:
Zitat:
Zitat von meikel
btw: Dein Script funktioniert nur dann, wenn PHP als Apache Modul vorliegt.
Das ist dann wahrscheinlich bei mir zuhause der Fall (ich benutze xampp) und im Netz nicht mehr.
Generell erst mal das zum Nachlesen:
http://de2.php.net/manual/de/features.http-auth.php
Dort findest Du auch Anwendungsbeispiele.

Wahrscheinlich liegt es daran, daß Du a. die falschen Variablen verwendest und b. "zu Hause" register_globals = On hast.
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
www-authenticate: basic realm, basic realm, www-authenticate basic realm, www-authenticate: basic realm=, www-authenticate: basic, www-authenticate, header(\'www-authenticate: basic realm, www-authenticate basic, header(\www-authenticate: basic realm, basic realm=, www authenticate realm, www-authenticate php, http basic realm, php_auth_user erklären, einfacher seitenschutz php header, header www-authenticate basic realm, \basic realm\, php basic realm, header(\www-authenticate: basic realm=\\\mein bereich\\\\);, www-authenticate realm

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:33 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.