Hallo,
ich habe folgendes Problem. Für benutzer ohne Cookies wird die SID entsprechend angehangen. Nun kann ein Besucher eine solche URL kopieren und als Link auf seine eigene Seite setzen. So far so gut.
Meine Erfahrung: Kommt ein Benutzer über einen solchen Link auf die Website und hat die Cookies aus, wird genau die in der URL.SID übertragene SessionID als die des Besuchers ggf. neu angelegt.
Problem: Übles Sicherheitsloch. Zwei Besucher, die über diese URl kommen, teilen sich eine Session.
Meine derzeitige Lösung sieht so aus, dass ich, falls eine Session zu beginnen ist, die URL analysiere und im Falle, dass eine SID darin enthalten ist, die gewünschte Seite noch einmal per Redirect aufrufe. Klappt prima!
Weiß jemand, ob (und wie) das Problem auch lösbar ist ohne einen erneuten Aufruf der Seite?
Könnt Ihr auch bestätigen, dass dieses Problem nur bei ausgeschalteten Cookies auftritt, da der Browser andernfalls sich um die übertragene SID nicht schert sondern ihn nur die Cookies-SessionID interessiert? (das zeigten zumindest meine Tests)
Thanx again
ich habe folgendes Problem. Für benutzer ohne Cookies wird die SID entsprechend angehangen. Nun kann ein Besucher eine solche URL kopieren und als Link auf seine eigene Seite setzen. So far so gut.
Meine Erfahrung: Kommt ein Benutzer über einen solchen Link auf die Website und hat die Cookies aus, wird genau die in der URL.SID übertragene SessionID als die des Besuchers ggf. neu angelegt.
Problem: Übles Sicherheitsloch. Zwei Besucher, die über diese URl kommen, teilen sich eine Session.
Meine derzeitige Lösung sieht so aus, dass ich, falls eine Session zu beginnen ist, die URL analysiere und im Falle, dass eine SID darin enthalten ist, die gewünschte Seite noch einmal per Redirect aufrufe. Klappt prima!
Code:
...
elseif (strpos($_SERVER['QUERY_STRING'], session_name()) !== FALSE) # to prevent session reuse
{
$scriptName = $_SERVER['SCRIPT_URI'];
$parms = stripSID($_SERVER['QUERY_STRING']);
$redirect = $scriptName . whether($parms, '?' . $parms, '');
header("Location: $redirect");
exit;
} ...
Könnt Ihr auch bestätigen, dass dieses Problem nur bei ausgeschalteten Cookies auftritt, da der Browser andernfalls sich um die übertragene SID nicht schert sondern ihn nur die Cookies-SessionID interessiert? (das zeigten zumindest meine Tests)
Thanx again

Kommentar