为我的网站禁用cookie,我得到TokenMismatchException

时间:2016-09-20 08:55:46

标签: laravel

我已为我的网站停用了Cookie并获得了TokenMismatchException。由于我正在使用会话文件驱动程序,并且在我的表单中我有{{ csrf_field() }}为什么当我为我的网站禁用cookie时,我会获得TokenMismatchException

如果我检查所做的调用,我可以看到令牌是在帖子中发送的:令牌J0Y0t2hj3jjVFMdGCch0apliPqlz1lZlwUc0VqCk

2 个答案:

答案 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.