在PHP手册中,有一个注释:
注意:如果不使用此功能 转义数据,查询容易受到攻击 SQL注入攻击。
这足以反sql注入吗?如果没有,你能给出反sql注入的一个例子和一个好的解决方案吗?
答案 0 :(得分:7)
mysql_real_escape_string
通常足以避免SQL注入。这确实取决于它是无bug的,即有一些很小的未知机会它 易受伤害(但这还没有在现实世界中表现出来)。在概念级别上完全排除SQL注入的更好选择是prepared statements。这两种方法完全取决于你正确应用它们;也就是说,无论如何你都不会保护你。
答案 1 :(得分:0)
据我所知,这是避免SQL注入攻击的可靠方法。
答案 2 :(得分:0)
最佳解决方案是PDO。
如果您使用传统的mysql_query
,那么通过mysql_real_escape_string()
运行所有数据就足够了。