【问题标题】:Laravel 419 page expired while post request via form in bladeLaravel 419 页面过期,同时通过刀片中的表单发布请求
【发布时间】:2020-12-04 21:49:01
【问题描述】:

我使用 Laravel 7。我有一个带有 scrf 令牌的页面作为 Blade 形式的 POST 请求发送。

<form method="POST" action="some url">

    @csrf
    <div class="panel-body" style="padding:25px;">
        <div class="form-group">
        
            <input name="keyword" type="text" class="form-control">
                       
            
            <button type="submit" class="btn btn-danger">search</button>
        </div>
    </div>

</form>

这一行在我的 head 元素中:

<meta name="_token" content="{{ csrf_token() }}" />

我有 文件会话 配置。我已经检查了 storage/framework/session 并且它有权写入文件和最近创建的新文件。当我将我的 url 除了 VerifyCsrfToken 类中的数组之外的 csrf 中,所有的东西都工作得很好。我检查了我的请求,并确定那里有 _token 字段。我也读过thisthat,但答案对我来说不起作用。

我的请求样本:

【问题讨论】:

  • 您是否在 .env 文件中设置了 APP_KEY?
  • 是的。我用 php artisan key:generate 生成它
  • 运行php artisan cache:clear
  • 它没有帮助。还是 419 错误。
  • 检查你的会话驱动并将其设置在数据库或redis上

标签: laravel session csrf laravel-blade


【解决方案1】:

你可以试试这个吗?

{{csrf_token()}}

而不是

@csrf

【讨论】:

  • Token is exists in my request bosy.
猜你喜欢
  • 2019-03-06
  • 2020-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-15
  • 2020-05-22
  • 2022-06-11
相关资源
最近更新 更多