3 回答
TA贡献1874条经验 获得超12个赞
总而言之,您错过了@csrf。
只需在表单开头标记行之后添加@csrf 即可。它应该是这样的:
<form class="singn-form" method="POST" action="{{ route('register') }}">
@csrf
....
</form>
TA贡献1155条经验 获得超0个赞
发生此错误的原因是 CSRF 令牌验证失败、缓存配置错误、权限、会话设置不当。当用户提交发布请求时会出现此错误。您可以通过执行以下操作来修复它:
CSRF 令牌验证失败 419 错误的最常见原因是 CSRF 令牌失败。跨站请求伪造是由服务器生成的唯一的、加密的值。这包含在客户端的 HTTP 请求中。稍后服务器对其进行验证。如果失败,则会导致会话过期错误。因此,您检查 Laravel 配置中的 CSRF 设置。
由于缓存导致会话过期错误有时,缓存也会导致前端会话过期错误。这可以是服务器缓存和浏览器缓存。因此,请使用
php artisan cache:clear
.Laravel 文件和文件夹权限 同样,不正确的文件或文件夹权限也会导致错误。通常,Web 服务器需要对 Laravel 文件夹存储和供应商的写权限。此外,会话存储需要写权限。所以,给权限,
chmod -R 755 存储
chmod -R 755 供应商
chmod -R 644 引导程序/缓存
Laravel 会话设置 最后但并非最不重要的是,会话设置也会导致 419 错误。app/config/session.php 是会话配置文件。检查一些重要的参数——域和安全。
'domain' => env('SESSION_DOMAIN', null), 'secure' => env('SESSION_SECURE_COOKIE', false), // in case of cookie
这些循序渐进的方法修复了错误并使 Laravel 再次工作。
TA贡献1789条经验 获得超8个赞
在 head 部分使用它而不是 @csrf :
<meta name="csrf-token" content="{{ csrf_token() }}">
- 3 回答
- 0 关注
- 265 浏览
添加回答
举报