我的注册页面正确显示了表单,表单中存在 CsrfToken ( {{ csrf_field() }}
)。
表单 HTML
<form class="form-horizontal registration-form" novalidate method="POST" action="{{ route('register') }}">
{{ csrf_field() }}
....
</form>
我正在为用户使用内置身份验证。除了路由和重定向之外,没有改变任何东西。
当我提交表单时(也只是在重新加载之后),它给出了 该页面由于不活动而过期。请刷新并重试。 错误。
我是我错过了一件非常小的事情。但不确定它是什么。有什么帮助吗?
更新
发现问题。会话驱动程序设置为数组。将其更改为文件,现在错误消失了。但是如果我使用数组有什么问题?
原文由 Sougata Bose 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您直接从搜索中得到这个答案,请确保您已经使用
{{ csrf_field() }}
将 csrf 令牌添加到您的表单中,就像 OP 一样。如果您将会话驱动程序设置为文件:
可能与 storage_path 不可写有关。如果您使用基于文件的会话,它会在此处存储有关令牌的会话数据。可以通过
is_writable(config('session.files'))
进行验证对于 OP,会话驱动程序设置为数组。 数组仅用于测试。由于数据没有被持久化,它将无法在下一次请求时比较令牌。
https://laravel.com/docs/5.5/session#configuration
检查 config/session.php
最后,我刚刚遇到的一个问题是,我们有一个项目,它在 config/session.php 中有会话域和安全设置,但开发站点没有使用 HTTPS (SSL/TLS)。这导致了这个一般错误,因为 session.secure 默认设置为 true。