OWASP 的好人强调,您必须对要放入不受信任数据的 HTML 文档部分(正文、属性、JavaScript、CSS 或 URL)使用转义语法。请参阅OWASP-XSS。他们的 API(由 ESAPI 团队开发)随后为每个上下文提供了编码器:
ESAPI.encoder().encodeForHTML("input");
ESAPI.encoder().encodeForHTMLAttribute("input");
ESAPI.encoder().encodeForJavaScript("input");
ESAPI.encoder().encodeForCSS("input");
ESAPI.encoder().encodeForURL("input");
随后,这允许开发人员迎合基于DOM 的 XSS。
所以我的问题是 GWT 的 safehtml 包是如何解决这个问题的,还是仅仅关注 HTML 编码?