问题描述
我遇到了跨站脚本:我的 JSP 文件验证不佳
<td>${message}</td>
解决方法
在输出之前,您需要使用任何 AntiXSS 库清理来自用户的任何输入,并对 {message}
进行 HTML 编码。这是防止跨站点脚本的良好编码习惯。
我不是 JSP 编码员,但一次简单的搜索使我找到了 this OWASP page。因此,以下语句应该可以完成工作。您需要导入包 org.owasp.Encode
。
<td>"<%=Encode.forHtml(message)%>"</td>
完成它的更原生的方法是使用 fn:escapeXML 函数。这样,您的代码将如下所示:
<td>{fn:escapeXml(message)}</td>