0
我有一个表单,用户可以在文本框中填写注释。稍后我会在页面上显示相同的字段。 在测试时,我尝试插入HTML评论标签作为评论。 当我显示的页面由于html评论标签而变得混乱。 我正在做输入验证,但不能阻止所有符号。 有没有我错过的一些安全措施?在php中的HTML注释标记输入验证
甚至stackoverflow.com过滤不了。在任何评论中试用html评论标签。
我有一个表单,用户可以在文本框中填写注释。稍后我会在页面上显示相同的字段。 在测试时,我尝试插入HTML评论标签作为评论。 当我显示的页面由于html评论标签而变得混乱。 我正在做输入验证,但不能阻止所有符号。 有没有我错过的一些安全措施?在php中的HTML注释标记输入验证
甚至stackoverflow.com过滤不了。在任何评论中试用html评论标签。
您可以使用htmlentities($string)
或htmlspecialchars($string)
来编码您的输出,以便对您的html标记进行编码,而不是将原始html写入页面。
用htmlspecialchars()
<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // <a href='test'>Test</a>
?>
ヶ辆()
<?php
$str = "A 'quote' is <b>bold</b>";
// Outputs: A 'quote' is <b>bold</b>
echo htmlentities($str);
// Outputs: A 'quote' is <b>bold</b>
echo htmlentities($str, ENT_QUOTES);
?>
应当指出的是,让人们无限制HTML注释是一个XSS漏洞。 – 2014-11-01 03:09:45