Forms 我可以将plone.protect 3.0与plone 4.3一起使用吗?

Forms 我可以将plone.protect 3.0与plone 4.3一起使用吗?,forms,security,plone,csrf,plone-4.x,Forms,Security,Plone,Csrf,Plone 4.x,自版本3起,提供自动保护 Plone 4.3默认包括 我可以升级到Plone 4.3中开始使用此功能吗?我对它只有一点经验,并使用过Plone.protect 3.x和Plone 4.3.2,但没什么大不了的 我也安装了很多插件,所以我不能说Plone本身或插件是否有问题 这是我的笔记: 是的,您可以启用它,但您的安装将停止工作。 所以不,您不能:-) 默认情况下,First plone.protect.aut 3.0处理每个POST/GET请求。 例如,会话处理是一个写请求,因此无论在何处使用

自版本3起,提供自动保护

Plone 4.3默认包括


我可以升级到Plone 4.3中开始使用此功能吗?

我对它只有一点经验,并使用过Plone.protect 3.x和Plone 4.3.2,但没什么大不了的

我也安装了很多插件,所以我不能说Plone本身或插件是否有问题

这是我的笔记:

是的,您可以启用它,但您的安装将停止工作。 所以不,您不能:-)

默认情况下,First plone.protect.aut 3.0处理每个POST/GET请求。 例如,会话处理是一个写请求,因此无论在何处使用,都必须手动修复它

其次,在注释中写入数据(IAnnotation),默认情况下它也受到保护,因此必须找到使用注释的每个位置(例如Portlet存储)并修复它

如果您的测试环境处于良好状态:-)您可以让它工作,但开箱即用的Plone 4.3还没有准备好使用它

结论:

主要问题是GET请求,最终导致数据库更改。 我现在认为这是错误的,但是Plone 4.3和/或主要的插件有这种行为


您最终将通过白名单扩展plone.protect.auto功能。

我编写了所有自动csrf的内容。我建议不要在Plone 4中使用它,除非你想投入大量时间

在Plone 5上使用它最简单的修复方法是添加一些javascript,在登录时自动为您保护几乎所有内容。这不会处理ZMI,然后它依赖于javascript来工作

JavaScript可以做以下几件事:

  • 将验证器令牌添加到所有回发到站点的表单
  • 将验证器令牌添加到所有可能写入数据库的管理员URL。例如,“编辑”按钮会写入数据库,因为在Plone 4中,AT内容类型会在数据库中生成一个临时对象。此外,它还提供了锁定支持
  • 向所有ajax请求添加验证器令牌。使用类似的方法添加令牌

  • Sry,我在火车上,网络连接很慢,我在家时会更新答案。我写了所有自动csrf的东西——耶,除非你想投入时间,否则不要做。最简单的修复方法是添加一些javascript,在登录时自动为您保护几乎所有内容,但这不会处理ZMI,然后它取决于javascript工作。@vangheem请写下此评论作为答案!我们评估并启动了plone.protect 3.0到plone 4.2的后端口(以及plone.app.imaging的后端口,请参见),但老实说,我们停止了这方面的工作。。。显示CSRF警告的位置太多(尤其是在ZMI中)。