【问题标题】:TokenMismatchException in VerifyCsrfToken after uploading online在线上传后VerifyCsrfToken出现TokenMismatchException
【发布时间】:2019-04-09 02:34:23
【问题描述】:

我正在使用 laravel 5 创建网络应用程序。 完成应用程序后,我在线上传了应用程序,但出现此错误(它在 localhost 中工作) VerifyCsrfToken.php 第 67 行中的 TokenMismatchException

我在网上搜索了很多答案 著名的

我的文件中已经有了它。 它在 localhost 中可以 100% 正常工作,但在我在线上传后无法正常工作,因此建议的解决方案无法正常工作。

我检查了 env 文件、会话文件,但一切似乎都正常,但没有一个表单似乎在工作或给出相同的错误 即使缓存,会话文件夹也有正确的权限。

所以,我不知道该怎么办。

有什么建议我应该在哪里研究?

编辑: 我禁用了 CSRF 作为临时措施,但我再次被重定向到登录页面(没有被重定向到正确的页面)

【问题讨论】:

  • 如果您可以发布部分代码会有所帮助
  • @RajeshHegde 所有表单都不起作用,问题是它在 localhost 中运行良好,但在上传后却没有,所以我认为问题与某处的某些设置有关,而不是与代码有关。
  • 尝试手动验证正在生成的 csrf 令牌和会话中的当前令牌。
  • @Sandeesh 它看起来和现在 i.imgur.com/CnwWwXV.jpg 一样,使用 {{ csrf_token() }} 隐藏表单字段
  • 尝试清除所有配置、缓存和编译类。 php artisan config:clearphp artisan route:clearphp artisan view:clearphp artisan clear-compiled。还要验证使用的会话存储,如果您默认使用文件,请手动检查是否正在生成会话文件。

标签: php laravel


【解决方案1】:

在您的<form> 中添加{{ csrf_field() }}

欲了解更多信息,请访问here

开启,服务器:

将 session.php 中的键值编辑为 secure => false'http_only' => true。此外,检查会话驱动程序是否为“文件”,如果是 cookie,则更改为“文件”,反之亦然。

另外,重新生成您的应用密钥:php artisan key:generate

看看,是否可行。

【讨论】:

  • 谢谢,但我已经说过我在表格里有这个。另外问题是它在离线时可以正常工作,但在我将其上传到在线后无法正常工作。所以可能问题与在线上传后我需要更改的一些设置有关。我已经导入了 db 文件。这个 csrf 检查的设置是否默认保存在 laravel 中的 db 中?
  • 修改服务器上的 php.ini 文件后,是否重启了 apache?
  • 我已经完成了所有所说的事情,包括那些虚假和真实的事情,但无济于事。它在本地主机上工作,但不在网上。我无法重新启动 apache,因为我在在线共享主机中。会话文件正在写入文件夹,但由于某些原因无法正常工作。
【解决方案2】:

好吧,经过 2 天的无知,我已经能够解决它。 问题是: cookie 没有被写入,因为每次查询都会创建新的会话 ID。

为什么没有写入 cookie

在一个配置文件的结束标记之后有一些愚蠢的空白。(不是之前而是之后?>) 可能是因为出现“标头已发送”错误(但显示在错误日志中)

不管怎样,删除了那些空格,一切正常,但是查看每个文件搜索空格实在是太乏味了..

【讨论】:

    【解决方案3】:

    如果您使用的是 https,请确保启用了安全会话 cookie。否则,您的浏览器不会读取 cookie。它可以在本地工作,因为您使用的是 http 环境。

    【讨论】:

      【解决方案4】:

      我能够通过生成新的应用程序密钥并运行 Sandeesh 评论中列出的缓存清除命令来解决此问题。

      php artisan key:generate

      php artisan config:clear

      php artisan route:clear

      php artisan view:clear

      php artisan clear-compiled

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-11-14
        • 2017-11-07
        • 2015-07-14
        • 2016-06-16
        • 1970-01-01
        • 2017-01-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多