这些函数我还是经常使用的,非常好用 ~ 值得推荐
htmlentities
一个非常有用的用来处理输出的函数。它用来将一些可能导致XXS攻击的字符转化为html实体,这些字符在浏览器显示的时候是正常的,但是当你查看它的源代码时,实际上这些特殊字符必不会是他显示的那样,例如
输出:
John & ‘Adams’
源码:
John & ’Adams’;
输出:
<>
源码:
<>gt;
编码这些符号,有效地避免了XSS 攻击。
htmlspecialchars():
和上面的函数是一样的,但是它更常用一些,因为 htmlentities() 是将所有的有在html 标准中定义了的字符转换成他们对应的html实体,这样会是你的输出缺乏易读性(html 实体列表 http://www.w3school.com.cn/tags/html_ref_entities.html)。所以呢,使用 htmlspecialchars() 只是将一些 预定义的字符(就是会导致出现问题的)转换为html实体。例如:
& (和号) 成为 &
” (双引号) 成为 ”
‘ (单引号) 成为 ‘
< (小于) 成为 <
> (大于) 成为 >
所以,在一些项目中,我还是常常使用 htmlspecialchars() 来处理html 的输出的。他在安全这一方面做得更具体一些。
strip_tags(): 一般在输出时使用,将HTML、XML 以及 PHP 的标签剥去。
函数原型: strip_tags(string,allow)
String 代表输入的字符串,allow 代表 不删除的标签,你可以通过 allow 来自定义过需要滤掉的标签
htmlspecialchars
和上面的函数是一样的,但是它更常用一些,因为 htmlentities() 是将所有的有在html 标准中定义了的字符转换成他们对应的html实体,这样会是你的输出缺乏易读性(html 实体列表 http://www.w3school.com.cn/tags/html_ref_entities.html)。所以呢,使用 htmlspecialchars() 只是将一些 预定义的字符(就是会导致出现问题的)转换为html实体。例如:
& (和号) 成为 &
” (双引号) 成为 ”
‘ (单引号) 成为 ‘
< (小于) 成为 <
> (大于) 成为 >
所以,在一些项目中,我还是常常使用 htmlspecialchars() 来处理html 的输出的。他在安全这一方面做得更具体
一些。
strip_tags
一般在输出时使用,将HTML、XML 以及 PHP 的标签剥去。
函数原型: strip_tags(string,allow)
String 代表输入的字符串,allow 代表 不删除的标签,你可以通过 allow 来自定义过需要滤掉的标签