【发布时间】:2011-03-26 02:39:35
【问题描述】:
偶尔提交 PloneFormGen 表单(它发生在不同的表单上,因此没有特定的表单)会引发“表单验证器无效”异常。
我知道这是跨站点请求伪造 (CSRF) 保护正在关闭,但那到底是什么?
是什么触发了它以及如何防止它(因为,据我所知,所有触发提交都是有效的,所以不会发生伪造:-)
谢谢!
【问题讨论】:
标签: csrf plone ploneformgen
偶尔提交 PloneFormGen 表单(它发生在不同的表单上,因此没有特定的表单)会引发“表单验证器无效”异常。
我知道这是跨站点请求伪造 (CSRF) 保护正在关闭,但那到底是什么?
是什么触发了它以及如何防止它(因为,据我所知,所有触发提交都是有效的,所以不会发生伪造:-)
谢谢!
【问题讨论】:
标签: csrf plone ploneformgen
为了防止来自其他来源的帖子,许多 Plone 表单,包括您尚未将其关闭的 PFG 表单,都包含一个加密令牌作为隐藏输入。该令牌必须存在于提交中,并且提交必须通过 HTTP POST。
开启 CSRF 保护后,来自原始表单以外的任何其他来源的提交都会触发错误。如果一个用户加载了表单,然后在同一个浏览器中以另一个用户身份登录,您也可能会收到错误消息。或者,如果帖子被代理或浏览器插件转换为 GET。
您可以在 PFG 中逐个表单地关闭 CSRF 检查。除非某些有价值的资源受到保护,否则 CSRF 检查并不是真正有用。
【讨论】: