【问题标题】:Laravel Issues - Token missmatchLaravel 问题 - 令牌不匹配
【发布时间】:2017-05-23 21:26:13
【问题描述】:

我在项目中使用 Laravel 5.1。

当我打开一个网址时,它有时可以正常工作,但有时我会看到这个屏幕:

我不知道为什么?可能是什么问题?在我的每张表格上都有{{ csrf_field() }}

【问题讨论】:

  • 我也会对此感兴趣。我遇到过同样的问题。令牌与会话相关联,会话将在 2 小时后过期。尝试不缓存页面无效。我终于放弃了,改用kunststube/csrfp作为令牌。
  • 我在共享主机上遇到了这个问题。当我推送一些更新时,我不小心推送了 storage/framework/sessions 中的本地托管会话,这导致了各种 TokenMismatch 的东西。
  • CSRF 令牌是时间敏感的,因此如果您的页面在您提交表单之前已经打开了一段时间,则可能会出现此错误。您可以尝试延长令牌超时时间。我不知道该怎么做,否则我会为你写一个正确的答案。
  • 您确定将csrf_field() 放入<form> 元素中吗?
  • 我以前也遇到过这个问题。它回到文件权限。将storagebootstraplog 中的文件权限更改为0777。就可以了。例如:chmod 0777 -R path_to_storage

标签: php laravel laravel-5.1 csrf-protection


【解决方案1】:

您是否在表单中准确添加了此内容?

<input type="hidden" name="_token" value="{{ csrf_field() }}">

或者您只是将{{ csrf_field() }} 放入表单中的刀片中?因为那你必须这样做:

{!! csrf_field() !!}

【讨论】:

  • {!! csrf_token() !!} 应该是{!! csrf_field() !!}
猜你喜欢
  • 2016-10-24
  • 2020-07-08
  • 2016-12-10
  • 2016-09-20
  • 2020-01-20
  • 2016-12-06
  • 2020-06-17
  • 1970-01-01
相关资源
最近更新 更多