Probleme mit PHP-Sessions über mehrere Tabs?
Hallo zusammen,
ich habe Schwierigkeiten mit PHP Sessions, die über mehrere Tabs der gleichen Seite hinweg funktionieren sollen. Ich kann keine konsistente Sitzung aufbauen, wenn ich die Seite in verschiedenen Tabs öffne. Ich bin mir nicht sicher, ob es möglich ist, dass Sessions in diesem Szenario korrekt funktionieren oder ob ich etwas falsch mache.
Hat jemand von euch Erfahrung damit oder kann mir einen Tipp geben, wie ich das Problem lösen kann? Ich würde mich über jede Hilfe freuen!
Vielen Dank im Voraus!
1 Antwort
Wo ist das genaue Problem? Wenn du eine Anwendung in mehreren Tabs benutzt, teilen die sich eine Session. Wenn du in Tab A ein Formular z.B. mit CSRF-Token offen hast und jetzt in Tab B ein neues Formular geöffnet wird, welches das Token in der Session überschreibt, funktioniert das Formular in Tab A nicht mehr.
Getrennte Sessions bekommst du nur, wenn die Seite z.B. im privaten Tab oder einem anderen Browser nochmal geöffnet wird, so dass sich das generierten Session-Cookie unterscheidet. Die PHP Sitzung "hängt" an einem Cookie (PHPSESSID default), welches aber nicht dauerhaft, sondern nur für die Browser-Sitzung gilt. Alle Tabs im gleichen Browser (Ausnahme private Tabs/Fenster) teilen sich das gleiche Cookie.
https://www.php.net/manual/en/function.session-set-cookie-params.php
Bei Domain deine Domain mit . am Anfang, also .example.org ....
Ich habe noch einmal weiter getestet und scheinbar funktioniert es nicht über subdomains hinaus weswegen alles bei mir nicht funktioniert