这是在运行数据库查询之前阻止SQL注入的好方法吗?
$name = mysql_real_escape_string(stripslashes($name));
$age = mysql_real_escape_string(stripslashes($age));
$location = mysql_real_escape_string(stripslashes($location));
提前致谢!
答案 0 :(得分:4)
这很好地解答了:
那你能做什么?解决方案是使用预备语句,其中 几乎所有PHP数据库扩展都支持着名的 MySQL(ext / mysql)和SQLite2(ext / sqlite)的例外。 所以,继续 安全方面,我建议使用PDO界面进行对话 那些数据库或MySQL的情况下使用较新的MySQLi (ext / mysqli)扩展名。这些接口提供预处理语句 支持,允许查询结构和 查询参数。
因此,为了更加安全,不要单独依赖mysql_real_escape_string
,使用预准备语句要好得多。