如何阻止XSS但允许使用任何字符?就像我可以在像<html><body><h1>Test</h1></html>
这样的论坛上发布HTML代码,但它不会在浏览器中呈现为html?我怎么能这样做,所以它不转换PHP中的字符?
答案 0 :(得分:2)
将字符串传递给htmlspecialchars()
函数:
// Outputs HTML as literal characters
echo htmlspecialchars('<html><body><h1>Test</h1></html>');
答案 1 :(得分:0)
您可以使用htmlentities或htmlspecialchars安全地输出字符串。 htmlentities更彻底,因为它编码所有实体,而htrmlspecialchars只转换括号,引号和符号字符。
例如,它将<
更改为<
,其由浏览器显示为&lt;符号而不是被解释为HTML标记的开头。
答案 2 :(得分:0)