[英]When mysql_real_escape_string() is needed?
是否仅在登录页面或登录后的每个mysql_query
需要带sprintf
mysql_real_escape_string()
才能防止SQL注入?
每次将用户发布的数据插入查询时,都应该使用mysql_real_escape_string(),或者使用可以执行预备语句的数据库包装器(如PDO) 。 这样会更好,因为它们会为您消毒。
如果您致力于网站的整体安全性,那将是非常好的,而且绝对是必要的。 但是,如果您正在寻找网站被黑的原因,我怀疑这是通过SQL注入完成的,因为您的实际HTML代码受到了影响(或者我认为我可能是错的)。 仅当您将FTP密码存储在数据库中的某个位置时,这才有可能。
对于将通过SQL查询运行的任何用户提供的数据,都应使用mysql_real_escape_string。
当您不信任输入时使用它。 永远不要相信用户的输入。
在任何接受用户输入的情况下,都应在将其发送到数据库之前对其使用mysqli_real_escape_string
。 最好在输入上也使用trim()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.