PHP 的 htmlspecialchars 函数
htmlspecialchars
是PHP的一个内置函数,用于将一些预定义的字符转换为HTML实体,这样可以防止跨站脚本攻击(XSS),这个函数接收一个字符串作为参数,并返回一个新的字符串,其中所有特殊字符都被转义。
代码示例
1. 直接使用 htmlspecialchars
函数
<?php $str = "<script>alert('Hello, World!');</script>"; echo htmlspecialchars($str); ?>
在这个例子中,<
和>
被转换为<
和>
,"
被转换为"
,从而防止了潜在的XSS攻击。
2. 使用 htmlspecialchars
函数处理用户输入
<?php $username = $_POST['username']; $safe_username = htmlspecialchars($username, ENT_QUOTES, 'UTF-8'); echo "Username: " . $safe_username; ?>
在这个例子中,我们使用htmlspecialchars
函数处理用户输入的用户名,以防止XSS攻击。
优化的代码
虽然htmlspecialchars
函数可以有效地防止XSS攻击,但在某些情况下,我们可能希望对某些特定的字符进行转义,而不是所有的特殊字符,在这种情况下,我们可以使用htmlentities
函数。
htmlentities
函数与htmlspecialchars
函数类似,但它将所有的字符都转换为HTML实体,而不仅仅是预定义的特殊字符。
<?php $str = "Hello, <World>!"; echo htmlentities($str); ?>
在这个例子中,<
和>
被转换为<
和>
,"
被转换为"
。
《 PHP 的 htmlspecialchars 函数》.doc
将本文下载保存,方便收藏和打印
导出文档