究竟是什么触发了PFG表单上的"表单身份验证器无效"异常?

dim*_*boo 2 plone csrf ploneformgen

每隔一段时间提交一个PloneFormGen表单(它发生在不同的表单上,因此没有特定的形式)引发"表单身份验证器无效"异常.

我知道这是跨站请求伪造(CSRF)保护工作正在进行中,但究竟是什么呢?

什么触发它以及如何防止它(因为,据我所知,所有触发提交都是有效的,所以没有伪造继续:-)

谢谢!

Ste*_*veM 8

为了防止来自其他来源的帖子,许多Plone表单(包括未关闭它的PFG表单)包含加密令牌作为隐藏输入.该令牌必须存在于提交中,并且提交必须通过HTTP POST.

启用CSRF保护后,来自原始表单以外的任何其他来源的提交都将触发错误.如果一个用户加载了表单,然后在另一个用户登录的同一浏览器中,您也可以想象得到错误.或者,如果通过代理或浏览器插件将帖子转换为GET.

您可以逐个表单关闭PFG中的CSRF检查.除非保护一些有价值的资源,否则CSRF检查并不真正有用.