htmlspecialchars

htmlspecialchars 是 PHP 提供的一个函数,它的功能是将特殊字符转换为 HTML 实体,以防止 XSS 攻击。它的语法如下:

htmlspecialchars(string,flags,encoding,double_encode);
PHP

string:要转换的字符串;flags:可选参数,用于指定特殊字符的转换方式,可以使用 ENT_QUOTES、ENT_HTML401、ENT_XML1、ENT_XHTML 或 ENT_COMPAT;encoding:可选参数,指定字符编码;double_encode:可选参数,如果设为 false,则会忽略已经转义的字符,默认为 true。

下面是一个示例:

echo htmlspecialchars("alert('xss')");
PHP

输出结果:<script>alert('xss')</script>

htmlentities

htmlentities 也是一个 PHP 提供的函数,它的功能是将所有可见字符转换为 HTML 实体,以防止 XSS 攻击。它的语法如下:

htmlentities(string,flags,encoding,double_encode);
PHP

string:要转换的字符串;flags:可选参数,用于指定特殊字符的转换方式,可以使用 ENT_QUOTES、ENT_HTML401、ENT_XML1、ENT_XHTML 或 ENT_COMPAT;encoding:可选参数,指定字符编码;double_encode:可选参数,如果设为 false,则会忽略已经转义的字符,默认为 true。

下面是一个示例:

echo htmlentities("alert('xss')");
PHP

输出结果:&lt;script&gt;alert('xss')&lt;/script&gt;

strip_tags

strip_tags 是 PHP 提供的一个函数,它的功能是过滤掉 HTML 和 PHP 标签,以防止 XSS 攻击。它的语法如下:

strip_tags(string,allowable_tags);
PHP

string:要过滤的字符串;allowable_tags:可选参数,用于指定要保留的标签,默认为空。

下面是一个示例:

echo strip_tags("alert('xss')");
PHP

输出结果:alert('xss')