【发布时间】:2012-11-16 15:20:37
【问题描述】:
当使用 ODBC 连接到 MS SQL Server 时,如何防止 SQL 注入? odbc_prepare() 不起作用 (see my open question) 由于 unixODBC 的错误,并且 ODBC 也没有 _escape 或 _quote 函数。
此外,PDO 有一个 6 年前的严重错误,如果结果在 any 列中返回 NULL,则整个结果集将返回 null(至少在通过 ODBC 连接到 MSSQL 时)。
那么我可以做些什么来防范 SQL 注入呢?
【问题讨论】:
-
odbc_prepare() 有什么问题?
-
@sheldonCooper 在链接的问题中有详细说明;它出错了。
-
是的,我看到了。我已经为此提出了解决方案。
-
我不想显得毫无帮助(或不切实际),但如果您当前的软件堆栈存在已知错误并且这些错误对您的方案至关重要,那么您至少应该评估其他选项。在 Windows 上使用 PHP 可以让您访问具有 PDO 支持的 native driver,尽管我知道在您的情况下可能无法进行这样的更改。
-
这是针对无法更改的非常大客户的短期项目。我只是一个承包商,他们不会听我的。
标签: php sql sql-server odbc