psycopg2的“execute()”是否提供足够的SQL注入预防?

时间:2015-03-31 19:13:25

标签: postgresql sql-injection psycopg2

我知道没有SQL注入可以通过pycopg2吗?

当然假设我正确使用它。据我所知,我必须实际使用cursor.execute()函数的参数化(sp?)功能,例如

my_cur.execute(insert_statement, value_list)

而不是

my_cur.execute(insert_statement % value_list)

问题是我是否有任何价值解析并向value_list中的字符串添加转义。

1 个答案:

答案 0 :(得分:2)

  

问题是我是否有任何价值解析并向value_list中的字符串添加转义。

不,你不应该这样做。双参数形式的全部要点是避免必须转义字符串。如果您手动转义它们,psycopg2将再次转义它们,以便最终用户可以看到转义的表单。这可能不是你想要的。