plone 4的csrf修复

plone4.csrffixes的Python项目详细描述


plone4.csrffixes

这个包的目的是从plone 5向后移植auto-csrf实现 扑通四声。

这是必要的,因为有很多csrf问题 有了ZMI,Zope2将永远无法修复。

https://plone.org/security/hotfix/20151006 更多细节。

安装

扑通声4.3、4.2、4.1和4.0

plone4.csrffixes添加到鸡蛋列表:

eggs =
    ...
    plone4.csrffixes
    ...

为plone.protect、plone.keyring和plone.locking添加新版本的PIN:

[versions]
...
plone.keyring = 3.0.1
plone.locking = 2.0.10
plone.protect = 3.0.21
...

扑通声4.0和4.1

如果站点中尚未包含lxml,则此包具有依赖项 在lxml上,安装时将其拉入。

我们建议固定到lxml的2.3.6版本。如果使用lxml>;3的版本, 您还需要安装cssselect包。自版本 1.0.4我们需要cssselectsetup.py中,因此 自动安装。

附加插件版本

防止某些读写错误导致错误 积极与自动csrf保护,这些版本的引脚 已报告工作升级到:

Products.CMFQuickInstallerTool = 3.0.12
Products.PlonePAS = 5.0.4

有关更多版本提示,请参见https://github.com/plone/plone4.csrffixes/issues/12

机器人框架

对于plone实例,plone4.csrffixes通过z3c.autoinclude注册,而不是 在测试中加载。

您需要在包configure.zcml中包含plone4.csrffixes,以便 在测试中加载:

<include package="plone4.csrffixes" />

还需要吗?

此包中的大多数修补程序都已移植到其原始位置。 如果您使用plone 4.3.8或更高版本,那么添加plone.protect 3.0.21或更高版本就足够了。 对于这些版本,您可能不再需要plone4.csrffixes

但是添加plone4.csrffixes仍然有助于避免一些确认页,因为它有额外的代码:

  • 它检查参照者。如果上一页在plone站点内,则不进行跨站点检查。
  • 如果当前页面是zmi页面(zope管理界面),则所有链接都将重写为具有csrf令牌。
  • 其他几个链接会附加csrf令牌,例如在actions下拉列表(copy、delete等)中。

这个额外的代码基本上对csrf检查没有影响。 但它允许一些读写操作:在这种情况下,只需查看一个页面,而不提交表单,就已经在数据库中进行了更改。 不需要读写,但在plone 4上,它总是无法避免的。 一些核心代码和附加组件可以做到这一点。

所以建议是:

  1. 尝试使用plone.protect3.0.21或更高的plone 4.3.8或更高版本,而不使用plone4.csrffixes
  2. 如果这提供了太多不必要的确认页,那么再次添加plone4.csrffixes

更改日志

1.1.1(2019-01-08)

错误修复:

  • 更新了有关版本和此软件包必要性的文档。[毛里塔尼亚]

1.1(2016-08-26)

新功能:

  • 取决于plone.protect 3.0.19或更高。这增加了 protect.js,所以我们不必再这样做了。见问题 https://github.com/plone/plone.protect/issues/42 [毛里塔尼亚]
  • 将推荐者/来源的backstop分解成自己的方法,这样就可以 在子类转换上自定义。 [lgraf]

错误修复:

  • 将更改和自述文件的扩展名从txt更改为rst。 [gforcada]
  • 包括一个setup.cfg和一个带有代码约定的.editorconfig文件: -isort的设置 -plone styleguide设置 [勒切尔]
  • 应用代码约定[loechel]

1.0.9(2015-11-18)

  • 使用tinymce修补程序修复潜在问题 [范希姆]
  • 添加用于加载机器人框架测试的plone4.csrffixes的文档 [lbrannon]

1.0.8(2015-10-30)

  • 修复重定向将包含不可分析响应的问题 [范希姆]
  • 把门锁上安全操作 [范希姆]
  • 在尝试使用选项之前,请选中它们 [ALE RT]
  • 使用“application/javascript”媒体类型,而不是过时的“text/javascript”。 [hvelarde]

1.0.7(未发布)

  • 错漏了。

1.0.6(2015-10-12)

  • 在网站引用匹配上添加尾随斜杠 [范希姆]

1.0.5(2015-10-08)

  • 处理由 无效上下文 [范希姆]

1.0.4(2015-10-07)

  • 为安装lxml>;3的用户添加cssselect依赖项 在plone 4.0和4.1上出错 [范希姆]

1.0.3(2015-10-07)

  • 检查提交时防止发生类型错误 oobtree实例上的非字符串键。修复5 [范希姆]
  • 检查tinymce ajax是否已经修补。 这可以防止javascript递归错误。 [阿韦罗,塞克]

1.0.2(2015-10-06)

  • 更好地猜测我们是否应该重写url 对于ZMI [范希姆]

1.0.1(2015-10-06)

  • 正确检查原始标题 [范希姆]

1.0.0(2015-10-06)

  • 初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在嵌套的json字符串Java中附加双引号   java我应该首先将客户机的流读入字符串,然后解析HTTP,还是在从客户机的流中获取输入的同时解析HTTP?   java方法永远不会到达if语句,尽管它的条件得到了满足   java Spring Cloud Kinesis binder在启用kpl/kcl时创建SpringIntegrationMetadataStore和SpringIntegrationLockRegistry。有必要吗?   为什么打印空字符串时会弹出零?   java Swagger API规范自定义API响应属性usign@ApiPropertyModel   抽象类中受java保护的数据   java将参数作为参数从jsf页面传递给bean,并保存它   java在转换为字符串后丢失HTML转义   Java注释:使用注释更改数据   Java中XML XSD到AVRO avsc的映射   java将TreeView的子项、子项、子项着色   java如何在Springbeans中获取HttpServletRequest?   Java和MySQL如何在涉及外键时设计类