【问题标题】:What exactly triggers the "Form authenticator is invalid" exception on PFG-forms?究竟是什么触发了 PFG 表单上的“表单验证器无效”异常?
【发布时间】:2011-03-26 02:39:35
【问题描述】:

偶尔提交 PloneFormGen 表单(它发生在不同的表单上,因此没有特定的表单)会引发“表单验证器无效”异常。

我知道这是跨站点请求伪造 (CSRF) 保护正在关闭,但那到底是什么?

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

谢谢!

【问题讨论】:

    标签: csrf plone ploneformgen


    【解决方案1】:

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

    开启 CSRF 保护后,来自原始表单以外的任何其他来源的提交都会触发错误。如果一个用户加载了表单,然后在同一个浏览器中以另一个用户身份登录,您也可能会收到错误消息。或者,如果帖子被代理或浏览器插件转换为 GET。

    您可以在 PFG 中逐个表单地关闭 CSRF 检查。除非某些有价值的资源受到保护,否则 CSRF 检查并不是真正有用。

    【讨论】:

    • 有没有办法逐个表单关闭 CSRF?我想在我创建的自定义注册表单上运行一些测试,但我很难找到 Plone pre-v4.3 的文档
    • 表单编辑选项卡默认页面上的一个选项。
    猜你喜欢
    • 2011-03-21
    • 2018-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多