Tom: Danke & Zusatzfrage

Beitrag lesen

Hello,

warum nicht $_SESSION["login"]=true;?
Hier sollte daher man einen indirekten Aufruf setzen, also z.B. die Sessionnummer nehmen, und in einer DB nachschauen, ob sie noch berechtigt ist und welche Berechtigungen für den User vorliegen.

deshalb hab ich als auch ein $_SESSION['login'] und $_SESSION['user_id']

Nö, falsch verstanden.
An die Sessiondatei kommt unter Normaumständen nur der berechtigte Prozess heran.
Es handelt sich dabei ja nur um einen transienten Speicher für einen Client-Server-Prozess.
Der Admin weiß also gar nicht, welcher User gerade welche Sessionnummer hat.

An eine DB kommt aber auch der Admin heran. Wenn der Prozess (das Script) die Sessionnummer nun in der DB einträgt, kann der Admin auch gelich dort die Berechtigungen ändern und beim nächsten Request haben die bereits Auswirkugnen, und nicht erst beim nächsten "Login".

Darum gehören Logindaten nicht in die Session.

Außerdem sind Sessiondaten flüchtig. Die DB kann man aber so organisieren, dass sie gleich für Historie und Logbuch dienen kann.

Harzliche Grüße aus http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau