可能重复:
Htmlentities vs addslashes vs mysqli_real_escape_string
When to use which string escaping method?
您好, 我很困惑何时使用addslashes以及何时使用htmlentities。
你能告诉我一个例子,我应该在哪里使用addslashes以及何时使用htmlentities。
答案 0 :(得分:5)
绝不使用addslashes。
也绝不使用htmlentities()
*
在HTML页面的上下文中输出不受信任的内容时使用htmlspecialchars()
。
通常,通常有一种正确的方法可以转义/清理数据,具体取决于您要对其执行的操作。如果你告诉我们更多关于你要做什么的事情,有人可以指出你正确的方向。
* =除非您需要,否则通常不会。 htmlentities()
将不必要的字符转换为各自的HTML实体,这在UTF-8时代变得多余。为了安全起见,htmlspecialchars()
涵盖的字符范围就足够了。 子>
答案 1 :(得分:2)
我有点困惑,我同意。但是,让我们看看我们是否可以提供帮助:)
htmlentities
使数据安全,可以输出到HTML文档中。 PHP手册说。
此函数与htmlspecialchars()在所有方面都相同,除了htmlentities()之外,所有具有HTML字符实体等价物的字符都会被转换为这些实体。
但请记住,应该不惜一切代价避免在UTF-8编码文档中使用htmlentities()!始终存在问题,请参阅http://www.phpwact.org/php/i18n/charsets#common_problem_areas_with_utf-8
addslashes
使数据在其他一些情况下安全,但如果您的数据库有自己的数据,那么使用它,对于MySQL(那里需要mysql_real_escape_string
)