Laravel 5.2 - Google Chrome中的TokenMismatchException

时间:2018-02-18 14:13:48

标签: php laravel google-chrome session laravel-5.5

我的表单包含{{ csrf_field() }}

当我在Firefox(v57.0.4)中提交表单时,它没有问题。

当我在Chrome中提交相同的表单(v63.0.3239.132)时,我会继续:

TokenMismatchException in VerifyCsrfToken.php line 67

我试图清除Cookie /浏览器缓存,但没有区别。我查看了以下帖子("The page has expired due to inactivity" - Laravel 5.5),但我的问题仅与Chrome有关,因为它在Firefox中运行良好。

在我的env文件中,我有以下内容:

SESSION_DRIVER=file

*更新*

我注意到,当我在Chrome中提交表单时,每次在storage\framework\sessions内都会生成一个新的会话文件。事实上,每次刷新页面或转到另一个页面时,都会生成一个新的会话文件?

我注意到的另一件事是,如果我在Chrome中登录我的应用程序而未检查remember me复选框,它似乎工作正常,但如果我选中了remember me复选框,我得到了上述行为。

所以我把它缩小到导致上述问题的记忆标记。

虽然在Firefox中一切似乎都运行良好。这真的很奇怪。

注意我在Windows 10上运行wamp - 通过以下帖子提示它是一个拙劣的东西:(https://laracasts.com/discuss/channels/laravel/laravel-not-reading-session-cookie-on-form-post-in-chrome-when-logged-in-with-remember-me

任何人都有其他要解决的提示吗?

1 个答案:

答案 0 :(得分:-1)

尝试增加SESSION_LIFETIME? 或者你有csrf_token?

<meta name="csrf-token" content="{{ csrf_token() }}">