sichere Sessionverwaltung

x0x

Erfahrenes Mitglied
Hallo,

ich habe zwei Fragen die sich auf die Sicherheit von Sessions beziehen. Habe schon gesucht, aber nichts entsprechendes gefunden, was vielleicht daran liegt, dass ich nicht weiß welche Suchbegriffe meine Frage am besten treffen.

Also die 1.:
Spielt es denn eine große Rolle, ob ich in der Session registrierte Variablen einfach mit deren Namen weiterverwende, oder sie per "$_SESSION['lala'] in eine neue Variable schreiben? Gibt es bei der ersten Version Sicherheitslücken oder nicht?

2. Frage:
Ich habe schon ein Login-Script programmiert. Nun aber möchte ich es gegen Manipulationen hinsichtlich der Sessions (sofern es solche gibt) absichern. Ist es in diesem Zusammenhang sinnvoll die Session-Id in eine Datenbank zu schreiben und dann auf jeder Seite neu auszulesen? Bisher verwende ich keine Id, oder zumindest nicht wissentlich :). Soll heißen ich füge sie nirgends an und lese sie nirgends aus.
Bringt es mir mehr Sicherheit wenn ich das mit der Datenbank realisiere und wenn ja, wie muss ich das machen?

MFG
Ruben
 
Keiner eine Idee, oder zumindest einen anderweitigen Tip bezüglich der Sicherheit?
 
Zur ersten Frage muss ich sagen, versteh ich nicht ganz, was du meinst. Könntest du da villeicht ein Beispiel bringen?

Zur allgemeinen Sicherheit von Sessions hab ich gelesen, dass sie relativ sicher sind. Solange der User nicht seine Session-ID an jemand anderen weitergibt, sollte da nicht viel passieren...
Und selbst in diesem Szenario könntest du vorsorgen, indem du die IP des Users in der Session speicherst, sodass nur dieser auch wirklich zugriff auf die Daten hat, die durch die Session geschützt werden.
Das jedoch kann dann auch zu Problemen führen, wenn der User hinter einem Proxy sitzt.
Dann hab ich noch gelesen, dass man eine (unter umständen zufallsgenerierte) ID weitergeben könnte, die jedes mal, wenn der user eine neue Seite betritt neu erzeugt wird und in der Session gespeichert wird. Das ist dann eben etwas umständlich.
Aber ich denke allgemein sind Sessions schon recht sicher, sonst würde sie ja niemand benutzen. Es gibt allerdings bestimmt auch einige weitere Methoden die Sessions noch sicherer zu machen, die man sich noch überlegen könnte.
 
http://de3.php.net/manual/de/ref.session.php <--Alle Info's

Interessant für dich glaube ich dies hier: (PHP Optionen)

session.use_only_cookies boolean

session.use_only_cookies spezifiziert, ob das Modul nur Cookies verwendet, um die Session-ID clientseitig zu speichern. Grundeinstellung 0 (deaktiviert, für Rückwärts-Kompatibilität). Mit Aktivierung dieser Einstellung wird möglichen Angriffen durch Übermittlung von Session-IDs in URLs vorgebeugt. Diese Einstellung wurde in PHP 4.3.0 hinzugefügt.

session.cookie_secure boolean

session.cookie_secure spezifiziert, ob Cookies nur über sichere Verbindungen geschickt werden sollen. Grundeinstellung off. Diese Einstellung wurde in PHP 4.0.4 hinzugefügt. Siehe auch session_get_cookie_params() und session_set_cookie_params().
 
Zurück