如果页面空闲,来自 CSRF 的 Yii2 错误请求
Yii2 Bad Request from CSRF if page has been idle
如果页面空闲,即使是很短的时间(<5 分钟),我也会收到错误的请求错误,这会导致糟糕的用户体验。有没有办法让 CSRF 密钥在页面空闲的情况下也能正常工作?
(我在这里假设没有其他浏览器向您的后端发送其他请求 window/tab,因为这也可能会更改 CSRF)
当前的 CSRF 要么存储在它自己的 cookie 中,要么存储在会话中。所以基本上,如果它存储的地方过期,它就会过期。
所以基本上,如果您使用了 Request::enableCsrfCookie
(这是默认设置),请确保还更新 Request::csrfCookie
设置以稍后过期(您可以为此添加 'expire'
) .这个的基本值应该是 "session"(直到浏览器 window 关闭)。
如果您不使用它并且 CSRF 存储在会话中,则您必须提高会话的 TTL。
如果页面空闲,即使是很短的时间(<5 分钟),我也会收到错误的请求错误,这会导致糟糕的用户体验。有没有办法让 CSRF 密钥在页面空闲的情况下也能正常工作?
(我在这里假设没有其他浏览器向您的后端发送其他请求 window/tab,因为这也可能会更改 CSRF)
当前的 CSRF 要么存储在它自己的 cookie 中,要么存储在会话中。所以基本上,如果它存储的地方过期,它就会过期。
所以基本上,如果您使用了 Request::enableCsrfCookie
(这是默认设置),请确保还更新 Request::csrfCookie
设置以稍后过期(您可以为此添加 'expire'
) .这个的基本值应该是 "session"(直到浏览器 window 关闭)。
如果您不使用它并且 CSRF 存储在会话中,则您必须提高会话的 TTL。