Hallo,
ich bin gerade dabei ein Loginscript zu programmieren. Ich versuche da mit äußerste Vorsicht dran zu sehen und habe bezüglich dem Session hijacking ein paar Fragen.
Ich hatte mal gelesen das man die Session nicht bei jedem Seitenaufruf neu generieren soll. Es reicht nach jedem Login. Wenn ich mich allerdings per Cookie automatisch einlogge wäre es doch nach jedem Seitenaufruf?
Desweiteren habe ich das Problem das mein Sessionordner sehr schnell sehr voll werden kann, da alte Sessiondateien nicht gelöscht werden. Hier mal ein Codeteil aus meinem Konstruktor.
Die Klasse Session ist ein Singleton. Der Konstruktor wird pro Seitenaufruf also nur einmal aufgerufen. Nachdem die Session gestartet worden ist, wird die ID neu generiert, die alten Datein bleiben allerdings bestehen.
Wenn ich bei "session_regenerate_id" den Parameter "true" mit übergeben werden alle Dateien gelöscht, ich habe dann keine Sessiondatei mehr in meinem Ordner.
Vielleicht kann mich mal genau darüber aufklären wann man die ID neu generiert und wie man die alten Datein evtl. gelöscht bekommt.
Benny
ich bin gerade dabei ein Loginscript zu programmieren. Ich versuche da mit äußerste Vorsicht dran zu sehen und habe bezüglich dem Session hijacking ein paar Fragen.
Ich hatte mal gelesen das man die Session nicht bei jedem Seitenaufruf neu generieren soll. Es reicht nach jedem Login. Wenn ich mich allerdings per Cookie automatisch einlogge wäre es doch nach jedem Seitenaufruf?
Desweiteren habe ich das Problem das mein Sessionordner sehr schnell sehr voll werden kann, da alte Sessiondateien nicht gelöscht werden. Hier mal ein Codeteil aus meinem Konstruktor.
PHP-Code:
if (!empty($strSessionPath))
{
session_save_path($strSessionPath);
}
if (!empty($strSessionName))
{
session_name($strSessionName);
}
if (!session_start())
{
throw new Exception('Session konnte nicht gestartet werden!');
}
$strOldSessionId = session_id();
if (!empty($strOldSessionId))
{
session_regenerate_id();
}
Wenn ich bei "session_regenerate_id" den Parameter "true" mit übergeben werden alle Dateien gelöscht, ich habe dann keine Sessiondatei mehr in meinem Ordner.
Vielleicht kann mich mal genau darüber aufklären wann man die ID neu generiert und wie man die alten Datein evtl. gelöscht bekommt.
Benny
Kommentar