我的PDO查询是否安全的SQL注入
这个问题在这里已经有了答案:
是的 - 当以这种方式使用时,参数化查询对于注入是安全的。
只要您正确使用准备好的语句,就可以避免注射。 但只要您直接将任何外部数据插入到查询中,即使它是其他准备好的语句,例如
INSERT INTO $table VALUES (:param)
你很脆弱 - 在这种情况下, $table
可以被破坏,即使你正在使用一个准备好的语句。
任何人告诉你简单地切换mysql-> PDO或mysqli会让你更安全是一个错误的错误 。 无论是哪种库,您都可能会受到注入攻击。
你也应该
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
默认情况下,它使用模拟模式,它仅执行mysql_real_escape_string
操作。 在某些边缘情况下,您仍然容易受到SQL注入的影响。
上一篇: Is my PDO query safe from SQL injection
下一篇: Is this kind of PDO query protected against SQL injection?