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

csrf token automatically regenerate on each request in laravel which cause csrf token mismatch on production server

Csrf 令牌在 Laravel 中的每个请求上自动重新生成,这会导致生产服务器上的 csrf 令牌不匹配。在本地服务器上它工作正常我还在产品服务器

上的 verifiedCSRFToken.php 文件上打印两个令牌
 $token = $this->getTokenFromRequest($request);
             echo $request->session()->token();
             echo "====";
             echo $token;
             die('Hi');

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

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

首先在你的 .env 文件中 remove:set session 像这样的驱动程序: SESSION_DRIVER=file (如果你想将它保存到文件中)

然后做:php artisan cache:clear然后phpartisanconfig:clear

对我有用。

忘记从 .env

签出 应用程序模式

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

得到它

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