当使用ODBC连接到MS Server时,如何防止SQL注入?odbc_prepare()不工作(see my open question)是因为bugs,而且ODBC也没有_escape或_quote功能。
此外,PDO有一个坏的6年前的错误,如果结果在any列中返回NULL,则整个结果集返回空(至少在通过ODBC连接到MSSQL时是这样的)。
那么,我可以做些什么来防范SQL注入呢?
发布于 2020-10-01 14:18:35
尽管这是一个老生常谈的问题,但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);这应该能行。
https://stackoverflow.com/questions/13419448
复制相似问题