Yii2如果页面空闲,则来自CSRF的错误请求

时间:2015-08-09 04:25:58

标签: php yii2 csrf

如果页面空闲,即使在很短的时间内(<5分钟),我也会收到错误的请求错误,这会导致糟糕的用户体验。有没有办法让CSRF密钥工作,即使页面已空闲?

1 个答案:

答案 0 :(得分:2)

(我假设这里没有其他请求从你的后端浏览器窗口/标签,因为这也可能会改变CSRF)

当前的CSRF要么存储在自己的cookie中,要么存储在会话中。所以基本上它会在它存储的地方到期时到期。

所以基本上如果您使用了Request::enableCsrfCookie(这是默认设置),请务必同时更新Request::csrfCookie设置以便稍后过期(您可以为此添加'expire')。这个的基本值应该是“session”(直到浏览器窗口关闭)。

如果您不使用它并且CSRF存储在会话中,则您必须提高会话的TTL。