我有一个表格,人们可以添加他们的东西。但是,以这种形式,如果他们输入JavaScript而不是仅输入文本,则他们可以轻松地注入想要执行的操作。为了防止这种情况,我可以将escapeXml设置为true,但是普通的HTML也会被转义。

<td><c:out value="${item.textValue}" escapeXml="true" /></td>


还有其他方法可以防止JavaScript注入,而不是将其设置为true?

最佳答案

您需要将服务器上的HTML文本解析为XML,然后丢弃所有不在严格白名单中的标签和属性。
(并检查hrefsrc属性中的URL)

10-05 20:23
查看更多