Sicherheit - Sessions - Interbereich
marley
- php
Ich bin jetzt soweit, dass es zumindest funktioniert.
Wenn der user ein richtiges Passwort mit dem dazugehörigem Namen eingegeben hat wird:
$_SESSION['auth']="erfolgreich";
gesetzt.
durch:
if(isset($_SESSION['auth'])) {
$login="fehlgeschlagen";
...loginbereich ...
}
wird ihm dann Zugang gewährt.
Allerdings ist dieser Login dann auch sicher?
Ich weiß ja das $_SESSION['auth']="erfolgreich"; nur auf dem server liegt und der Client dadurch ihm diesen Wert nich vorgaukeln kann, aber gibt es andere Möglichkeiten den server zu "bescheissen"?
Sollte ich vielleicht $_SESSION['auth'] das Passwort zuweisen und dann nochmal in der if-Anweisung überprüfen ob es das richtige Passwort ist, oder ist das unnötig?
Sollte ich vielleicht $_SESSION['auth'] das Passwort zuweisen und dann nochmal in der if-Anweisung überprüfen ob es das richtige Passwort ist, oder ist das unnötig?
Das würde nur den Vorteil bringen, dass alte Sessions bei einer Passwortänderung nicht mehr gültig sind.
Sicher ist das allemal, aber sessions können u.U. geklaut werden, du könntest also andere Sicherheitsmaßnahmen erwägen.
Beispielsweise könntest du je Benutzer nur eine bestimmte Zahl an gültigen Sessions erlauben, denn grade wenn du ohne Dauer-Login arbeitest würden haufenweise gültige aber unbenutze Sessions entstehen. Oder aber du hältst deren Lebenszeit niedrig.
greetz RFZ
rein interesse halber...
wie halte ich die Lebenszeit von sessions gering`?
Hello,
Die Frage ist nicht ausreichend substantiiert...
wie halte ich die Lebenszeit von sessions gering?
Indem Du eine eigene Session-Lebensdauer einführst.
Das Grundsystem von PHP ist nur dazu gedacht, einen Unterbau zu liefern, der gelegentlich den Müll aufräumt.
Ob eine Session noch gültig ist, sollte in einem eigenen System definiert werden.
Hier kann mann dann speichern, feststellen und festlegen
Leider erwarten viele Programmierer immer wieder von PHP, dass es eine fertige Funktion für jeden Anwendungsfall liefern würde. PHP ist aber bisher nur ein Grundsystem und in Bezug auf Sicherheit, Datenzugriff, usw. muss man sich aus den Basisfunktionen erst eigene komplexere Systeme bauen!
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom