我们正在使用较旧的zope版本(2.10.6-final,Python2.4.5),并使用一个名为ZEIngresDA的数据库适配器。我们已经为它建立了连接,测试功能表明它是完全正常的,可以连接和运行查询。
我的工作是更改查询实际执行的方式,以便它们正确地将变量参数化,以防止sql注入。说到这里,我遇到了一个安全问题,我希望有人能帮上忙。
connection = container.util.ZEIngresDAName()
#returning connection at this point reveals it to be of type ZEIngresDA.db.DA,
#which is the object we're looking for.
connection.query("SELECT * from data WHERE column='%s';", ('val1',))
#query is a function that is included in class DA, functions not in DA throw errors.在这里,我们遇到了问题。测试此脚本将显示登录提示,当登录时,会立即再次显示。我意识到这可能是某种类型的安全设置,但是我在网上找不到任何关于这个问题的东西,尽管这个旧的zope文档在网上也不是很壮观。如果这听起来很熟悉,或者你有什么想法,请让我知道。
发布于 2018-03-23 18:57:38
我有一些使用Zope2的经验,但由于您发布的信息有限,很难给出一个好的答案。我在这里假设您正在ZMI中使用Python脚本
下面是我要检查的一系列事情:
出现问题。
祝你好运--很高兴(也很悲哀)听到至少还有一个Zope用户在使用!
https://stackoverflow.com/questions/48931641
复制相似问题