繁体   English   中英

PHP、ODBC 和 SQL 注入

[英]PHP, ODBC, and SQL Injection

当使用 ODBC 连接到 MS SQL Server 时,如何防止 SQL 注入? 由于 unixODBC 错误, odbc_prepare()不起作用( 请参阅我的未解决问题),并且 ODBC 也没有_escape_quote函数。

此外,PDO 有一个糟糕的、6 年前的错误,如果结果在任何列中返回 NULL,整个结果集将返回 null(至少当通过 ODBC 连接到 MSSQL 时)。

那么我可以做些什么来防止 SQL 注入呢?

尽管这是一个老问题并且odbc_prepare()几乎已被弃用。

您应该做的是改用 PDO:

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

// Use the MSSQL driver's native prepared statements.
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, FALSE);

这应该有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM