Ich habe eine Laravel 5.0 Seite, wo das Frontend JS viele Ajax-Aufrufe an den Back-End-Laravel-Code macht. Ich habe bemerkt, dass ich bei jeder Ajax-Anfrage immer einen neuen "laravel_session" -Cookie-Wert in der Antwort bekomme. Ich vermute, dass dies ein Sicherheitsmechanismus ist, der vor Session-Hijacking schützt.Laravel Sitzungs-ID ändert sich mit jeder Anfrage
Allerdings denke ich, dass dies ein Problem mit meiner Seite verursacht, da meine Ajax-Aufrufe oft parallel und nicht sequentiell erfolgen. Ich warte nicht auf die Antwort vor dem nächsten Anruf.
Betrachten Sie dieses Szenario
. Ajax Anruf 1 - Anfrage - Laravel_Session Cookie = '1234'
. Ajax Call 1 - Antwort - Laravel_Session Cookie = '2345'
. Ajax call 2 - request- laravel_session cookie = '2345'
. Ajax-Aufruf 3 - request- laravel_session cookie = '2345'
. Ajax Call 2 - Antwort - Laravel_Session Cookie = '3456'
. Ajax Anruf 3 - Antwort - Sitzung nicht mehr gültig
Gibt es einen Weg um dies zu umgehen?
Ich sollte auch beachten, dass Sitzungen festgelegt werden in der config/session.php als 'Lebensdauer' => 120,
Es ist kein Sicherheitsmechanismus, und Sie haben Recht - es sollte nicht passieren. Überprüfen Sie Ihre Sitzungseinstellungen in 'config/session.php' und prüfen Sie, ob der Cookie-Pfad gültig ist. Standardmäßig sollten dateibasierte Sitzungen in 'storage/framework/sessions /' gespeichert werden. Wenn dieser Ordner leer ist, kann Ihre Installation möglicherweise nicht korrekt in diesen Ordner schreiben. – samlev
meine Einstellungen in der config/session.php sehen für mich ok 'files' => storage_path(). '/ Framework/sessions', und ich kann Dateien in Storage/Framework/Sessions/ – MakkyNZ
für mich erstellt sehen, ist es ' files '=> storage_path (' framework/sessions ') – mroesler