繁体   English   中英

什么时候需要mysql_real_escape_string()?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM