我们正在使用旧的zope版本(2.10.6-final,python 2.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文档在网上并不是很壮观。如果您觉得这听起来很熟悉或有任何想法,请告诉我。
答案 0 :(得分:0)
我有一些使用Zope2的经验,但很难用你发布的有限信息给出一个好的答案。我假设您在ZMI中使用Python脚本
这是我要检查的一系列事项:
祝你好运 - 听到那里至少还有一位其他Zope用户感到高兴(也很伤心)!