geschützter Bereich mit PHP
geschützter Bereich mit PHP
am 09.10.2006 16:50:54 von Robert.Poehl
Hallo,
ich habe mit Hilfe eines Buches ein Passwortschutz programmiert. Die
Registrierung klappt, das Login auch. Aber bis jetzt wird man nach dem
Login nur auf die Seite pruefer.php geschickt, die überprüft, ob das
Passwort richtig ist und danach bei Richtigheit die Meldung "Sie haben
sich erfolgreich eingeloggt". Das wars dann aber schon. Meine Frage
ist, wie ich jetzt richtig zu einem passwortgeschützten Bereich komme?
(Ich dachte ja an einen normalen Link, aber der wäre ja dann bei
Kenntnis der Ergebnisseite der Passwortschutz einfach zu umgehen-
sprich, ich habe überhaupt keine Ahnung):
Hoffe, ihr könnt mir dafür ein paar Tipps geben.
Re: geschützter Bereich mit PHP
am 09.10.2006 16:58:04 von Johannes Mueller
Robert.Poehl@gmx.de schrieb:
> Hallo,
> ich habe mit Hilfe eines Buches ein Passwortschutz programmiert. Die
> Registrierung klappt, das Login auch. Aber bis jetzt wird man nach
> dem Login nur auf die Seite pruefer.php geschickt, die überprüft, ob
> das Passwort richtig ist und danach bei Richtigheit die Meldung "Sie
> haben sich erfolgreich eingeloggt". Das wars dann aber schon. Meine
> Frage ist, wie ich jetzt richtig zu einem passwortgeschützten
> Bereich komme? (Ich dachte ja an einen normalen Link, aber der wäre
> ja dann bei Kenntnis der Ergebnisseite der Passwortschutz einfach zu
> umgehen- sprich, ich habe überhaupt keine Ahnung):
> Hoffe, ihr könnt mir dafür ein paar Tipps geben.
nicht mit PHP machen - das reisst bei unwissen größere Löcher als es je
stopfen könnte.
google mal nach .htaccess und .htpasswd!
Johannes
--
Emails ohne "[nospam]" im Betreff werden kommentarlos gelöscht.
Re: geschützter Bereich mit PHP
am 09.10.2006 16:59:53 von Ulf Kadner
Robert.Poehl@gmx.de wrote:
> ich habe mit Hilfe eines Buches ein Passwortschutz programmiert.
Wow! Hut ab! Nur mit nen Buch? Mag sein das ich da nen bischen
altmodisch bin, aber ich brauch dazu immer ne Tastur+Monitor+Rechner ;-)
> Registrierung klappt, das Login auch. Aber bis jetzt wird man nach dem
> Login nur auf die Seite pruefer.php geschickt, die überprüft, ob das
> Passwort richtig ist und danach bei Richtigheit die Meldung "Sie haben
> sich erfolgreich eingeloggt". Das wars dann aber schon. Meine Frage
> ist, wie ich jetzt richtig zu einem passwortgeschützten Bereich komme?
In dem Du diesen Programmierst! :-)
12.6. Apache: Wie kann ich ein Verzeichnis mit einem Passwort schützen?
http://www.php-faq.de/q/q-apache-passwort.html
12.7. Wie kann ich ein Verzeichnis mit PHP mit einem Passwort schützen?
http://www.php-faq.de/q/q-apache-php-passwort.html
12.8. Kann ich mit CGI PHP ein Verzeichnis mit einem Passwort schützen?
http://www.php-faq.de/q/q-php-passwort.html
MfG, Ulf
Re: geschützter Bereich mit PHP
am 10.10.2006 09:03:01 von Jens Riedel
Robert.Poehl@gmx.de wrote:
> Hoffe, ihr könnt mir dafür ein paar Tipps geben.
Auf der Prüfseite startest du bei erfolgreichem Login eine Session, in
die du ein entsprechendes Flag (z.B. $_SESSION['logged_in'] = 1) setzt.
Auf allen Seiten, die dann im geschützten Bereich liegen, prüfst du am
Anfang des Skripts, ob dieses Flag korrekt gesetzt ist, falls ja zeigst
du die Seite an, falls nein gibst du eine Fehlermeldung aus und leitest
wieder auf die Login-Seite um.
Natürlich funktioniert das nur, wenn alle Seiten im geschützten Bereich
PHP-Seiten sind.
Je nachdem, was du durch deinen Verzeichnisschutz bewerkstelligen
willst, bietet sich manchmal aber eher ein "simpler" Schutz durch
..htaccess / .htpasswd an - dann erfolgt die Authifizierung automatisch
durch den Browser und alle Inhalte des Verzeichnisses sind geschützt,
ohne dass du da selber tätig werden musst. Gerade wenn du von PHP nicht
viel Ahnung hast, wird das auf jeden Fall der sicherere Weg sein.
Gruß,
Jens
--
Der Kluegere gibt nach - Eine traurige Wahrheit:
sie begruendet die Weltherrschaft der Dummen.
- Marie von Ebner-Eschenbach
Re: geschützterBereich mit PHP
am 10.10.2006 13:46:00 von Oliver Block
Robert.Poehl@gmx.de wrote:
>Meine Frage
> ist, wie ich jetzt richtig zu einem passwortgeschützten Bereich komme?
Hier folgt ein Beispiel aus dem PHP cookbook
if (! pc_validate($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'])) {
header('WWW-Authenticate: Basic realm="My Website"');
header('HTTP/1.0 401 Unauthorized');
echo "You need to enter a valid username and password.";
exit;
}
function pc_validate($user,$pass) {
/* replace with appropriate username and password checking,
such as checking a database */
$users = array('david' => 'fadj&32',
'adam' => '8HEj838');
if (isset($users[$user]) && ($users[$user] == $pass)) {
return true;
} else {
return false;
}
}
Die richtige Literatur ist oft hilfreich.:)
Gruß,
Oliver
--
Leben ist mehr als ...
Re: geschützterBereich mit PHP
am 10.10.2006 22:51:16 von Peter Langheinrich
Johannes Mueller wrote:
> Robert.Poehl@gmx.de schrieb:
>
>> Hallo,
>> ich habe mit Hilfe eines Buches ein Passwortschutz programmiert. Die
>> Registrierung klappt, das Login auch. Aber bis jetzt wird man nach
>> dem Login nur auf die Seite pruefer.php geschickt, die überprüft, ob
>> das Passwort richtig ist und danach bei Richtigheit die Meldung "Sie
>> haben sich erfolgreich eingeloggt". Das wars dann aber schon. Meine
>> Frage ist, wie ich jetzt richtig zu einem passwortgeschützten
>> Bereich komme? (Ich dachte ja an einen normalen Link, aber der wäre
>> ja dann bei Kenntnis der Ergebnisseite der Passwortschutz einfach zu
>> umgehen- sprich, ich habe überhaupt keine Ahnung):
>> Hoffe, ihr könnt mir dafür ein paar Tipps geben.
>
> nicht mit PHP machen - das reisst bei unwissen gröÃere Löcher als es je
> stopfen könnte.
Wenn man sich ein bisschen erkundigt, dann sollte es kein Problem sein.
Wichtig ist vor allem die verschlüsselte Ãbertragung des Passworts. Wenn
dann noch eine Session ins Spiel kommt, hat man doch einen
wunderbaren "internen" Bereich, oder?
Ich kenne mich damit auch nicht sonderlich aus, habe aber genauso (Sessions)
einen Kundenbereich programmiert. Vielleicht habe ich es intuitiv ja sogar
richtig gemacht.
>
> google mal nach .htaccess und .htpasswd!
Könnte vielleicht "sicherer" sein (wieso eigentlich), ist aber für die
Benutzer nicht so schön wie eine feine, gerenderte HTML-Seite
>
> Johannes
>