是否有一个 SQL 注入(inject)方法的列表不能仅使用 mysql_real_escape_string();
和 utf8 编码来保护?
对于整数,我使用 intval();
是否足够安全?
对于那些认为我想获得“教程”来破解任何人的人:不,我不会。我只想知道如何让我的应用程序更安全,我想知道它们是否 99% 安全以防黑客攻击
最佳答案
如果给定一个有效的数据库连接,mysql_real_escape_string()
应该在所有情况下都是安全的字符串数据(this answer 中描述的罕见异常(exception))。
但是,字符串之外的任何内容都不会转义:
$id = mysql_real_escape_string($_GET["id"]);
mysql_query("SELECT * FROM table WHERE id = $id");
仍然容易受到攻击,因为您不必“突破”字符串来添加恶意的附加命令。
关于mysql - 哪些 SQL 注入(inject)方法不是 "destroyed"by mysql_real_escape_string();?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6666596/