我有一个用户可以填写新闻文章的表单。这包含标题和正文。
对于每个具有唯一标题的页面,我在<title>
- 标签中使用用户输入(标题):
<title>$userinput</title>
我想知道 - 用户是否可以通过这种方式执行XSS攻击?我应该使用htmlspecialchars
转义此用户输入吗?
同样适用于<meta>
- 标签。我正在使用用户输入进行描述:
<meta name="description" content="$userinput" />
用户可以在<title>
和<meta>
- 代码中执行XSS攻击吗?
答案 0 :(得分:6)
我应该使用htmlspecialchars来逃避此用户输入吗?
是。位置无关紧要。应转义所有用户输入。
参考文献:
答案 1 :(得分:3)
他可以先关闭任何标签:
</title><script> alert('here I am') </script>
答案 2 :(得分:0)
可以通过这种方式执行XSS攻击。
我开始使用htmlentities。 您也可以考虑HTML Purifier。 最后,您可能需要考虑PHPIDS。对于大多数情况来说,这会有点矫枉过正......