Thomas Schmieder: SESSION setzen nach Login

Beitrag lesen

Hallo,

und außerdem gibt es da immer noch Andreas und meine Dauerdiskussion über Sessions und Vorgehensweisen und Sicherheit usw. Da habe wir eine  Menge Für- und Wider diskutiert. Wenn Du also "Session Anderas Korthaus Thomas Schmieder" in die Suche eingibst, dürftest Du bis morgen früh zu lesen haben.

Das wsentliche für Dich schein mir aber zu sein zu begreifen, woran du den Verbindungswunsch mit einer gültige Session erkennen kannst, _bevor_ Du sie auf dem Server mit session_start() herstellst.

Da solltest Du erstmal auf Deinem Client die Einstellungen auf experimentell einstellen: Cookies aus dem Netz nur nach Rückfrage, Cookies aus dem LAN nur nach Rückfrage. (JavaScripte vorher fragen; aber das gehört jetzt nicht hier zu den Sessions)

Nur wer nachfragt, bekommt Antworten. Wenn Dein Browser alles automatisch entscheidet, wirst Du nur sehr schwer verstehen, was passiert.

Dann solltest Du Dich mit dem Setzen von Cookies, dem Wiederfinden dieser auf dem Client, dem Gültigkeitsbereich (Domain, Pfad) und der Gültigkeitsdauer auseinandersetzen. Über die Gültigkeitsdauer regelt PHP auch die Cache-Stategie des Cookies. Ein Cookie mit Gültigkeitsdauer 0 oder NULL wird von PHP mit dem HTTP-Header-Eintrag "nicht speichern" abgeschickt. Das hat eigentlich nicht dierekt was mit der Gültigkeitsdauer zu tun, ist aber in PHP so ganz praktisch geregelt. EIn Cookie mit einer Gültigkeitsdauer >0 wird von PHP automatisch kit dem Header "speichern" abgeschickt.

Und wenn Du aus der an den Cleint ausgelieferten Seite dann wieder einen Request an ein Script auf dem Server richtest, dann muss der Cookiee irgendwo gelandet sein. Schreib mal in dein testCookie.php-Script

<? #### testCookie.php ####

echo "<pre>";
print_r($_COOKIE];
echo "</pre>";

?>

rein. Dann weißt Du mehr.

Na, und das Script rufst Du dann auch aus einem HTML-Dokument auf, dass Du mit session_start() auf dem Server begonnen hast.

also

<?  #### testSession.php ####
session_start();
?>

<html>
<head>
<title>Session starten</tilte>
</head>
<body>

<a href="testCookie.php" target="cookiepage">Zur Cookieanzeige</a>

</body>
</html>

Wenn Du diese Versuche durchgeführt hast und noch Fragen hast, dann komm gerne wieder.

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.