【问题标题】:Laravel 419 Page Expired on Form SubmissionLaravel 419 页面在表单提交时过期
【发布时间】:2022-04-08 12:38:17
【问题描述】:

在 Laravel 8 中,我得到了 419 |每当我尝试提交表单时出现页面过期错误。我确保使用 Blade Directive @csrf 包含 CSRF 令牌。为了调试简单,我将表单简化为:

<form id="form-contact" name="form-contact" class="contact-form" method="POST">
    @csrf

    <div class="row"> 
        <div class="col-sm-6 animated">
            <div class="input-text form-group">
                <input type="text" name="name" id="name" class="input-name form-control" placeholder="Full Name*" />
            </div>
        </div>
    </div>
    <button class="btn btn-sm active" type="submit">Submit</button>
</form>

我仍然收到 419 页面过期错误。

在我的 .env 文件中:

SESSION_DRIVER=file
SESSION_LIFETIME=120

在命令行中,如果我检查我的会话文件夹权限:

ls -ld storage/framework/sessions

我明白了:

drwxrwsr-x 2 apache www 12288 Oct  1 15:32 storage/framework/sessions

这些权限对于会话目录是否正确,还是我需要更改权限?

我还需要做些什么来解决这个 419 问题吗?

【问题讨论】:

  • 尝试清除缓存 - php artisan cache:clear
  • 我试过了,没用。
  • 您正在向当前路由提交 POST。请求是到达控制器方法还是之前失败并返回 419?
  • 在到达控制器方法之前失败并返回 419。
  • 我没有使用 jQuery 提交我的表单,只是一个常规的 HTML 表单提交。没有 JavaScript。

标签: laravel csrf laravel-8


【解决方案1】:

我遇到了和你一样的错误。

<form id="form-contact" name="form-contact" class="contact-form" method="get">

并更改您的路由以获取路由器:Route::get();

我相信它会起作用的!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-19
    • 2019-08-15
    • 2020-05-22
    • 2022-06-11
    • 2020-09-28
    • 2018-06-08
    相关资源
    最近更新 更多