Passwortschutz mit Sessions - Aber wie???
Marc
- programmiertechnik
Hallo!
Ich brauche für meine neue Seite einen sehr sicheren Passwortschutz. (also kein .htaccess, da nach Passwortwengabe das Passwort gespeichert wird - also schlecht für Internet-Cafes).
Ansonsten gibt es nur Sessions,
Nur weiß ich nicht, wie ich das mit den Sessions machen kann - ich weiss nur, das beim erfolgreichen Login der User eine lange Nummer bekommt, die in einer Datenbank gespeichert. Auf den geschützten Seiten wird diese Nummer immer an die Dateien übergeben und nur wenn die Nummer stimmt wird die Seite angezeigt.
Beim Logout wird die Nummer dann aus der Datenbank gelöscht.
Nur wie mache ich das in der Praxis???
Hat jemand vielleicht ein Codebeispiel oder Adresse zu einem guten Tutorial, wo genau das erklärt wird?
Würde mich über eure Hilfe freuen!
Mfg Marc
hi Marc,
ich bin keine experte, aber mit der session-nummer alleine ist es wohl noch nicht getan, sondern erst der anfang. der sinn ist, das mit hilfe einer session variablen über mehrere scripte hinaus transportiert werden können. die session-nummer braucht der server, damit er weiss, welcher browser welche variablen gespeichert hat. variablen speicherst du mit dem befehl:
session_register("variablenname")
mit session_is_registered("variablenname") kannst du überprüfen, ob eine bestimmte variable schon gespeichert ist.
theoretisch ist es nun möglich nach einen log-in einen namen und das zugehörige passwort in den sessions zu speichern, ist aber dringend davon abzuraten. vielmehr solltest du eine tabelle anlegen, wo du neben dem namen und paswort noch eine id nummer für jeden benutzer hast, die du dann in den sessions speichern kannst.
Ilja
Mit Sessions kann es übrigens ein Problem geben wenn der
Benutzer Cookies deaktiviert hat. Dann wird nämlich bei jedem Seitenaufruf eine neue Session angelegt.
Grundsätzlich fragst du ein Passwort ab, schickst das an ein LoginDatei die User/Password Kombination mit einer Textdatei oder ein Datenbank-Eintrag vergleicht. Bei falscher Kombination zurück zur Eingabe, bei der Richtigen Eingabe setzt zum Beispiel eine Session Variable namens "Login" auf "true", oder auf ne Id aus der User Datenbank. Dann kann man später auch unterschiedlicher Rechte in der User Datenbank verteilen. Und jetzt fragst du auf jeder Seite nach ob sie Sessionvariable Login=true ist, anosnten zurück zum Eingang. Je nach dem in welcher Sprache du das ganze schreiben willst müsstest du auf den einschlägigen Tutorial Seiten schon 1-2 Beispiele finden.
Hier ein ASP Beispiel: http://www.js-examples.com/asp/login.php3
cu mik
Moin,
Nur weiß ich nicht, wie ich das mit den Sessions machen kann - ich weiss nur, das beim erfolgreichen Login der User eine lange Nummer bekommt, die in einer Datenbank gespeichert. Auf den geschützten Seiten wird diese Nummer immer an die Dateien übergeben und nur wenn die Nummer stimmt wird die Seite angezeigt.
Beim Logout wird die Nummer dann aus der Datenbank gelöscht.
Sessions können auch als Cookie gespeichert werden, das nur nebenbei. Infos zu Sessions unter PHP findest Du bei http://www.php.net/manual/de/ref.session.php oder bei http://www.oreilly.com/catalog/webdbapps/chapter/ch08.html?CMP=IL7015 und eine wirklich bodennahe Einführung findest Du in der FAQ der Newsgroup de.comp.lang.php unter http://www.dclp-faq.de/q/q-sessions-wie.html.
Aber wie gesagt, das ist alles PHP - wenn Dein Server das nicht unterstützt, dann kannst Du das auch wieder vergessen.
Ansonsten regelt natuerlich http://www.google.de/search?hl=de&ie=ISO-8859-1&q=sessions+beispiel+einf�hrung&meta=lr%3Dlang_de
Hallo, Marc,
Hat jemand vielleicht ein Codebeispiel oder Adresse zu einem guten Tutorial, wo genau das erklärt wird?
http://www.hotscripts.com/PHP/Tips_and_Tutorials/User_Authentication/
http://www.hotscripts.com/PHP/Scripts_and_Programs/User_Authentication/
http://phortify.sourceforge.net/
http://www.digiways.com/articles/php/sessauth/
http://www.zend.com/zend/tut/authentication.php
und natürlich ...
http://www.google.de/search?q=user+authentication+php]
Grüße,
Sebastian