我在PHP书中读到,当我们处理用户输入的数据时,使用htmlspecialchars和mysqli_real_escape_string处理条件是一个好习惯.这两者之间的主要区别是什么,它们适合使用?请指导我.
htmlspecialchars:"<"到"<" (取代HTML代码)
mysqli_real_escape_string:"to \"(替换代码,在mysql查询中有意义)
两者都用于防止SQL-Injection和XSS等攻击
这两个函数用于完全不同的东西.
htmlspecialchars()将特殊HTML字符转换为实体,以便可以毫无问题地输出它们.mysql_real_escape_string()可以转义敏感的SQL字符,因此可以执行动态查询而不会有SQL注入的风险.
您可以很容易地说htmlspecialchars处理敏感的OUTPUT,而mysql_real_escape_string处理敏感的INPUT.
夏嘉曦
这两个功能在目的上完全无关;它们共享的唯一属性是它们通常用于为 Web 应用程序提供安全性。
mysqli_real_escape_string旨在提供针对SQL 注入的安全性。
htmlspecialchars 旨在提供针对跨站点脚本(XSS)的安全性。
另请参阅使用 PHP 清理用户输入的最佳方法是什么?和htmlspecialchars 和 mysql_real_escape_string 是否可以防止我的 PHP 代码被注入?
| 归档时间: |
|
| 查看次数: |
4989 次 |
| 最近记录: |