我已为我的网站停用了Cookie并获得了TokenMismatchException
。由于我正在使用会话文件驱动程序,并且在我的表单中我有{{ csrf_field() }}
为什么当我为我的网站禁用cookie时,我会获得TokenMismatchException
?
如果我检查所做的调用,我可以看到令牌是在帖子中发送的:令牌J0Y0t2hj3jjVFMdGCch0apliPqlz1lZlwUc0VqCk
答案 0 :(得分:3)
为什么在禁用网站cookie时会出现TokenMismatchException?
因为表单中的CSRF令牌值需要与会话中存储的值进行比较。
如果您的会话在没有Cookie的情况下无效,那么当然会失败。
因此,决定是否要求您的应用程序使用Cookie,或者如果您想使用不太安全的方式传输会话ID(GET / POST - 如何在您的框架中配置它,应该在其文档中。 )
答案 1 :(得分:0)
检查您的配置文件(config / session.php)并查看您的会话驱动程序是否为cookie。如果是,则将其更改为其他内容。 这是笔记:Laravel's HTTP Session
file - sessions are stored in storage/framework/sessions.
cookie - sessions are stored in secure, encrypted cookies.
database - sessions are stored in a relational database.
memcached / redis - sessions are stored in one of these fast, cache based stores.
array - sessions are stored in a PHP array and will not be persisted.