PHPSESSID an der URL -> Lösung
Andavos
- php
0 André Laugks0 Andavos
Hallo,
wie manche wissen hatte ich das Problem, das PHP die PHPSESSID an die URL hängt, wenn der Server noch keinen Cookie gesetzt hatte.
Wenn man jetzt mit der PHPSESSID eine andere Seite auf dem Server besucht hatte, so wurde die URL (ink. SID) in einen Logfile gespeichert.
Jeder konnte dann die PHPSESSID sehen und sich so ins Admin Menü einklinken.
Wie haben viel versucht und hier kommt die Lösung.
Also mein Logfile frag die URL so ab:
$site = $_SERVER['REQUEST_URI'];
Das sieht ca. so aus: index.php?PHPSESSID=123...
Diesen Wert frage ich per GET ab:
$sid = $_GET["PHPSESSID"]
Dann lösche ich ihn
$site = str_replace("?PHPSESSID=$sid","",$site);
Und trage $site in den Logfile ein.
Eigentlich einfach, oder?
MFG
Andavos
Hallo!
Wenn man jetzt mit der PHPSESSID eine andere Seite auf dem Server besucht hatte, so wurde die URL (ink. SID) in einen Logfile gespeichert.
Jeder konnte dann die PHPSESSID sehen und sich so ins Admin Menü einklinken.
Eigentlich einfach, oder?
Man kann auch in der Session ein Timestamp packen. Man vergleicht bei jedem Auftruf den Timestamp + Zeitdifferenz (in der nichts passiert ist). Ist man über der Zeitdifferenz geht es zum Login. Desweiten sort man dafür, d?ß die Sessiondateien ordentlich gelöscht werden.
MfG, André Laugks
Hallo,
das wär aber nicht praktisch.
Wenn sich jemand ins Amdin CP einwählt, so wird an seine URL eine PHPSESSID mit der Session ID gehängt.
Wenn er jetzt auch eine Site geht, die im Logfile erfasst wird (das sind nur die, die nichts mit dem Admin CP zu tun haben) so steht im Logfile die Session ID.
Aber jetzt steht sie nicht mehr drin, weil sie vorher gelöscht wird.
MFG
Andavos