【发布时间】:2012-03-13 18:08:00
【问题描述】:
我可以在 pymssql 中使用哪些占位符。我从 html 查询字符串中获取我的值,所以它们都是字符串类型。这对 sql 注入安全吗?
query = dictify_querystring(Response.QueryString)
employeedata = conn.execute_row("SELECT * FROM employees WHERE company_id=%s and name = %s", (query["id"], query["name"]))
在这种情况下使用什么机制来避免注入?
pymssql 的文档方式并不多...
也许有一个更好的 python 模块可以用来与 Sql Server 2005 交互。
谢谢,
巴里
【问题讨论】:
-
我缺少括号,但我不需要 %s 周围的引号。
-
啊,是的,链接的问题中也没有引号。应该多加注意。很抱歉不必要地打扰了您。
-
但是!如果您运行 SQL Profiler 并查看传递给服务器的实际查询,它可能会帮助您确定您的查询是否安全。如果它看起来像
sp_executesql 'your query', '@var definitions', arg values,那么您的方法很可能是 SQL 注入安全的。