登录页面或登录后每mysql_real_escape_string()
只需要sprintf
mysql_query
,以防止SQL注入吗?
答案 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()
。