Laravel会话ID随每个请求而变化

Mak*_*yNZ 12 php cookies ajax laravel laravel-5

我有一个Laravel 5.0站点,其中前端JS对后端Laravel代码进行了大量的ajax调用.我注意到,在每个ajax请求中,我每次都会在响应中获得一个新的"laravel_session"cookie值.我猜这是一种防止会话劫持的安全机制.

但是我认为这会导致我的网站出现问题,因为我的ajax调用经常并行发生,而不是顺序发生.在开始下一个电话之前我不等待响应.

考虑这种情况

.Ajax调用1 - 请求 - laravel_session cookie ='1234'

.Ajax调用1 - 响应 - laravel_session cookie ='2345'

.Ajax调用2 - request-laravel_session cookie ='2345'

.Ajax调用3 - request-laravel_session cookie ='2345'

.Ajax调用2 - 响应 - laravel_session cookie ='3456'

.Ajax调用3 - 响应 - 会话不再有效

有没有办法解决?

我还应该注意,会话设置为在config/session.php中到期为'lifetime'=> 120,

在此输入图像描述

配置/ session.php文件

mal*_*hal 8

你是对的它是一种安全机制.要禁用它进行测试,请在Kernel.php中注释掉这一行:

\App\Http\Middleware\EncryptCookies::class
Run Code Online (Sandbox Code Playgroud)

然后,您将在Cookie查看器中看到会话ID,但不会更改.

您可以使用Google for HTTP加密Cookie来了解这种做法.如果我们在每个网站上都使用HTTPS,那么这种旧做法是必要的,目前存在争议.


Lan*_*och 2

您的域名无效。你需要看看config.session.domainconfig.session.path