OWASP的专家强调,必须对放置不受信任数据的HTML文档部分(如body、attribute、JavaScript、CSS或URL)使用转义语法。请参阅OWASP - XSS。他们的API(由ESAPI团队开发)随后为此提供了每个上下文的编码器。
所以我的问题是,GWT的safehtml包如何处理这个问题,还是仅关注HTML编码?
ESAPI.encoder().encodeForHTML("input");
ESAPI.encoder().encodeForHTMLAttribute("input");
ESAPI.encoder().encodeForJavaScript("input");
ESAPI.encoder().encodeForCSS("input");
ESAPI.encoder().encodeForURL("input");
所以我的问题是,GWT的safehtml包如何处理这个问题,还是仅关注HTML编码?
SafeHtml
等工具的原因。每当您可以设置元素的innerHTML
时,请尝试使用SafeHtml
工具来构建它。它永远不会取代审核您的代码,但应该在此过程中大有帮助。 - Thomas Broyer