PHP:htmlspecialchars介绍
PHP:htmlspecialchars是一个PHP函数,它可以转换特殊字符,从而有效避免XSS(跨站脚本)攻击。htmlspecialchars() 把一些预定义的字符转换为HTML实体,这些特殊字符的意义有:双引号(””)、单引号(‘’)、小于号(<)、大于号(>)以及 &(和号)。
PHP:htmlspecialchars可以把一些字符转换为实体(HTML),比如:双引号(”),不是直接用双引号表示,而是用htmlspecialchars函数把双引号转换为:"。
实例
下面演示一个实例:
$str = "A 'quote' is bold";
// 输出: A 'quote' is <b>bold</b>
echo htmlspecialchars($str);
?>
php: htmlspecialchars用法
htmlspecialchars() 函数把一些字符转换为 HTML 实体;它在 PHP 中是关键的字符串安全保护函数,可以预防跨站脚本攻击。
用法:
htmlspecialchars ( string $string ): string
string 必需。规定要转换的字符串。
该函数把下列字符转换为 HTML 实体:
双引号 (")
单引号 (')
小于号 (<)
大于号 (>)
和号 (&)
实例
$str = "
My first HTML
";echo htmlspecialchars($str);
?>
输出结果:
<h1>My first HTML</h1>
参数:
htmlspecialchars 的参数是可选的,可以做为可选参数提供更多的定制选项,此参数可以支持下列值:
ENT_COMPAT - 默认。只编码双引号。
ENT_QUOTES - 编码双引号和单引号。
ENT_NOQUOTES - 不编码任何引号。
ENT_IGNORE - 忽略字符实体时而发出解析错误消息。
实例
$str = "
My first HTML
";// 输出:<h1>My first HTML</h1>
echo htmlspecialchars($str, ENT_QUOTES);
?>
PHP: htmlspecialchars 小结
htmlspecialchars用来过滤数据并把一些预定义的字符(>"<&)转换为HTML实体(" < > &),有效的预防XSS(跨站脚本)攻击。它使得一些字符使用转义序列表示,能够正确被浏览器解析,提升用户的安全性。因为它可以转换HTML实体,并且支持可选参数,用户可以根据自己实际需要进行四个参数之一的定制选择,有效避免不必要的转义引起的安全问题以及兼容性问题。