PHP htmlspecialchars()
用于将字符串中的特殊字符转换为HTML实体,以防止XSS攻击,保护HTML内容的安全性.
htmlspecialchars(string,flags,character-set,double_encode)
- string: 要转化的字符串
- flags: 可选,规定如何处理引号、无效编码以及使用哪种文档类型
- flags参数可用的引号类型: 默认值
ENT_COMPAT- ENT_COMPAT :默认仅编码双引号。
- ENT_QUOTES:编码双引号和单引号。
- ENT_NOQUOTES:不编码任何引号。
- flags参数可用的引号类型: 默认值
- character-set: 可选,规定要使用的字符集的字符串,默认UTF-8
- doule_encode: 规定了是否编码已存在的HTML实体。默认true.
被htmlspecialchars认定为特殊字符的主要字符:
&(和号): 转换为&。"(双引号):转换为"'(单引号): 转换为'<(小于号): 转换为<>(大于号): 转换为>
绕过方式:
- 使用不同的编码方式: htmlspecialchars默认会转义为不同HTML实体,但是不会处理所有字符编码方式。
- 使用unicode编码。unicode编码在html中会被解析为实际的字符。
- 十六进制编码: 一些浏览器支持十六进制字符,从而绕过htmlspecialchars()
- 使用双重编码:
- 通过不同字符集绕过
2183

被折叠的 条评论
为什么被折叠?



