是不是应该使用mysql_escape_string?如果没有,有什么替代方案?

时间:2012-11-26 20:47:29

标签: php mysql

我有一堆没有正确消毒的代码。最好的方法是绑定变量,这个页面http://php.net/manual/en/function.mysql-escape-string.php表示根本不应该使用mysql_escape_string(我使用的是5.3.2)。

在大于5.3.0的版本中,mysql_escape_string根本不起作用吗?

编辑:我知道绑定是最好的方法,但是有一堆旧代码需要清理。所以如果我使用mysql_escape_string,它会不起作用?它没用吗?

1 个答案:

答案 0 :(得分:2)

最好的选择是使用像PDO这样的准备/参数化查询。如果你想坚持使用更原生的方式与MySQL交互,你也可以使用MySQLi。使用参数化查询,数据将独立于SQL发送,从而使其在SQL注入方面具有内在的安全性。

如果您正在寻找mysql_escape_string()的替代品,那将是mysql_real_escape_string()。它是替代品,如果您完全关心安全性,则必须使用它。