csrf令牌在laravel中的每个请求上自动重新生成,这会导致生产服务器上的csrf令牌不匹配

时间:2020-01-02 07:06:11

标签: php laravel laravel-5.8

Csrf令牌在Laravel中的每个请求上自动重新生成,这会导致生产服务器上的csrf令牌不匹配。在本地服务器上,它工作正常,我还在产品服务器上的authenticatedCSRFToken.php文件上同时打印了两个令牌

 $token = $this->getTokenFromRequest($request);
             echo $request->session()->token();
             echo "====";
             echo $token;
             die('Hi');

$ token保持不变,但$ request-> session()-> token()在产品服务器上总是发生变化

3 个答案:

答案 0 :(得分:1)

_________(您的路由文件或任何其他laravel文件中php标记之前的空格会导致laravel出现意外问题)

答案 1 :(得分:0)

我遇到了同样的问题,我所做的是:

首先在您的 .env 文件中删除:设置会话驱动程序,例如:SESSION_DRIVER=file(如果您希望将其保存到文件中)

然后做:php artisan cache:clear然后使用php artisan config:clear

对我有用。

而忘记从.env

签出应用模式

答案 2 :(得分:0)

如果您要在一页内发送许多ajax请求,建议您以<meta name="csrf-token" content="{!! csrf_token() !!}">的方式使用令牌。并使用'_token': $('meta[name="csrf-token"]').attr('content'),