我有一個Laravel 5.0站點,前端JS對後端Laravel代碼進行了大量Ajax調用。我注意到,在每次ajax請求時,我都會在響應中每次獲得新的「laravel_session」cookie值。我猜測這是一種安全機制來防止會話劫持。Laravel會話ID隨每個請求而改變
但我認爲這是我的網站造成的一個問題,因爲我的ajax調用經常並行發生,而不是順序發生。在開始下一個電話之前,我不會等待回覆。
考慮這種情況
。 Ajax調用1 - 請求 - laravel_session cookie ='1234'
。 Ajax調用1 - 響應 - laravel_session cookie ='2345'
。 Ajax call 2 - request- laravel_session cookie ='2345'
。 Ajax調用3 - 請求laravel_session cookie ='2345'
。 Ajax調用2 - 響應 - laravel_session cookie ='3456'
。 Ajax調用3 - 響應 - 會話不再有效
有沒有辦法解決這個問題?
我也應該注意到,會話設置在config/session.php文件到期的 '終身'=> 120,
這不是一個安全機制,你是對的 - 它不應該發生。檢查'config/session.php'中的會話設置,並檢查cookie路徑是否有效。默認情況下,基於文件的會話應該存儲在'storage/framework/sessions /'中 - 如果該文件夾爲空,則安裝程序可能無法正確寫入該文件夾。 – samlev
我在config/session.php中的設置看起來對我來說'files'=> storage_path()。'/ framework/sessions', ,我可以看到正在爲storage/framework/sessions/ – MakkyNZ
創建的文件, files'=> storage_path('framework/sessions') – mroesler