PHP 提供了一些内置的过滤和转义函数,可以帮助您应对复杂输入。这些函数可以防止跨站脚本攻击(XSS)和其他安全漏洞。以下是一些常用的 PHP 过滤和转义函数:
htmlspecialchars()
:将特殊字符转换为 HTML 实体。例如,将 <
转换为 <
,将 >
转换为 >
,将 "
转换为 "
,将 '
转换为 '
。$input = '<script>alert("XSS")</script>';
$output = htmlspecialchars($input, ENT_QUOTES, 'UTF-8');
echo $output; // 输出: <script>alert("XSS")</script>
htmlentities()
:与 htmlspecialchars()
类似,但不会将字符转换为 HTML 实体,而是返回一个包含所有特殊字符的字符串。$input = '<script>alert("XSS")</script>';
$output = htmlentities($input, ENT_QUOTES, 'UTF-8');
echo $output; // 输出: <script>alert("XSS")</script>
strip_tags()
:删除字符串中的所有 HTML 标签。$input = '<p>Hello, <strong>World</strong>!</p>';
$output = strip_tags($input);
echo $output; // 输出: Hello, World!
preg_replace()
:使用正则表达式替换字符串中的特定内容。例如,删除所有数字。$input = 'Hello, 123 World!';
$output = preg_replace('/\d+/', '', $input);
echo $output; // 输出: Hello, World!
这些函数可以帮助您过滤和转义复杂输入,但请注意,没有绝对的安全措施。您应该始终验证和清理用户输入,以确保应用程序的安全性。