缓存的页面包含CSRF保护形式
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 2.5,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。
缓存的页面包含CSRF保护形式
CSRF标记是不同的对于每一个用户。这就是为什么你需要谨慎,如果你试图与形式包括缓存页面。
更多信息关于CSRF保护在Symfony工作,请检查ob娱乐下载CSRF保护。
为什么缓存页面CSRF令牌是有问题的
通常,每个用户被分配一个独特的CSRF令牌,这是存储在会话中进行验证。这意味着,如果你做缓存页面与含有CSRF令牌的一种形式,你会缓存CSRF的令牌第一个用户只。当用户提交表单时,令牌不匹配的令牌存储在会话中,所有用户(第一除外)提交表单时将失败CSRF验证。
事实上,许多反向代理缓存(如清漆)会拒绝一个页面CSRF令牌。这是因为为了保持PHP发送cookie会话打开和清漆的默认行为是与饼干没有缓存的HTTP请求。
如何缓存的页面,还可以使用CSRF保护吗
缓存的页面包含一个CSRF令牌,你可以使用更先进的缓存技术应急服务国际公司的片段,你缓存整个页并嵌入表单在ESI标签没有缓存。
另一个选择是加载形式通过一个未AJAX请求,但缓存其他HTML响应。
或者你甚至可以负载CSRF令牌和一个AJAX请求表单字段的值替换它。
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。