Csrf令牌在Laravel中的每个请求上自动重新生成,这会导致生产服务器上的csrf令牌不匹配。在本地服务器上,它工作正常,我还在产品服务器上的authenticatedCSRFToken.php文件上同时打印了两个令牌
$token = $this->getTokenFromRequest($request);
echo $request->session()->token();
echo "====";
echo $token;
die('Hi');
$ token保持不变,但$ request-> session()-> token()在产品服务器上总是发生变化
答案 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'),