如果页面空闲,即使在很短的时间内(<5分钟),我也会收到错误的请求错误,这会导致糟糕的用户体验。有没有办法让CSRF密钥工作,即使页面已空闲?
答案 0 :(得分:2)
(我假设这里没有其他请求从你的后端浏览器窗口/标签,因为这也可能会改变CSRF)
当前的CSRF要么存储在自己的cookie中,要么存储在会话中。所以基本上它会在它存储的地方到期时到期。
所以基本上如果您使用了Request::enableCsrfCookie
(这是默认设置),请务必同时更新Request::csrfCookie
设置以便稍后过期(您可以为此添加'expire'
)。这个的基本值应该是“session”(直到浏览器窗口关闭)。
如果您不使用它并且CSRF存储在会话中,则您必须提高会话的TTL。