什么时候需要mysql_real_escape_string()?

时间:2010-01-06 18:36:35

标签: php

登录页面或登录后每mysql_real_escape_string()只需要sprintf mysql_query,以防止SQL注入吗?

4 个答案:

答案 0 :(得分:6)

每次将用户发布的数据插入查询时,都应该使用mysql_real_escape_string(),或者使用可以执行预准备语句的PDO数据库包装器。那会更好,因为他们会为你做消毒工作。

如果您正在努力提高网站的整体安全性,那么这非常有必要。如果你正在寻找你的网站被黑客攻击的原因,我怀疑这是通过SQL注入完成的,因为你的实际HTML代码受到影响(或者我认为,我可能是错的)。只有将FTP密码存储在数据库中的某个位置时,才可能执行此操作。

答案 1 :(得分:5)

您应该将mysql_real_escape_string用于将通过SQL查询运行的任何用户提供的数据。

答案 2 :(得分:3)

当您不信任输入时使用它。并且从不信任用户输入。

答案 3 :(得分:-1)

在您接受用户输入的任何实例中,您应该先使用mysqli_real_escape_string,然后再将其发送到数据库。最好在输入上使用trim()