Hallo Sven,
Ist relativ einfach: Jede Seite, die eine erfolgte Anmeldung erfordert, prÃft, ob in den Session-Variablen schon Benutzername und Passwort hinterlegt sind, und prÃft diese Angaben in der Datenbank.
Ich bin in Sachen Sessions auch Anfängerin, aber meines Erachtens kannst du durchaus festlegen, was in der Session gespeichert wird und was nicht. Ich hatte das bislang eigentlich so verstanden:
Ich habe in einer Datenbank Infos zu meinen registrierten Nutzern und deren Gruppenzugehörigkeiten.
Meine Seiten verfügen über die Information, welche User respektive Gruppen sie angucken dürfen. Wenn die Seite nicht für die Allgemeinheit offen ist, benötigt sie ein
session_start();
Nehmen wir jetzt an, ein bislang nicht angemeldetes Userlein stößt auf eine solche Seite.
Dann kann ich doch abfragen:
if(!$_SESSION['user']) ab zur login-Seite.
Auch die login-Seite hat ein session_start(). Auf diese geht jetzt mein Userlein und meldet sich an.
Username und Passwort werden (letzteres vielleicht verschlüsselt) übertragen, sind aber noch nicht als Session-Variablen registriert.
Nachdem die Anmelde-Daten angekommen sind, lasse ich das gegen meine Datenbank rennen und gucke, obs den User überhaupt gibt. Wenn ja erzeuge ich vielleicht ein Objekt der Klasse clsUser, und speichere dort den Usernamen, seine Gruppenzugehörigkeiten etc., sprich alles, was ich für den weiteren Betrieb brauche. Das Passwort gehört nicht dazu.
also $currUser = new clsUser();
$currUser->usrName = der Username;
$currUser->usrGrps = array(die,gruppen,wie,sie,aus,der,datenbank,kommen)
Nachdem ich dieses Objekt nun erzeugt habe, registriere ich diese Variable im $_SESSION-Array.
$_SESSION["user"] = $currUser;
Geht mein erfolgreich angemeldetes Userlein wieder auf eine geschützte Seite, fragt die halt nur noch diese Session-Variable ab:
if(!$_SESSION["user"]) {
ab zur login-Selte
} else {
hat Userlein ausreichend Rechte, um die fragliche Seite zu sehen.
}
Also wird das Passwort doch nur ein einziges Mal übertragen. Oder bin ich da jetzt fundamental im Irrtum?
Liebe Grüße, Uschi