我正在尝试在我的 ATG(9.3) 应用程序中添加 OWASP HTMLSanitizer API,但出现以下异常:
**** Error Wed Jan 16 01:35:45 IST 2019 1547582745139
/ Unable to resolve component /test/util/TestingUtil
java.lang.NoClassDefFoundError: org/owasp/html/HtmlPolicyBuilder
到目前为止所做的实施更改:
1)在我的 commerce/lib 文件夹中添加了 owasp-java-html-sanitizer.jar 和 guava-20.0.jar(所有 jar 都存在的地方)
2) 创建了 CustomSanitizer 组件,即 CustomSanitizer.properties 文件,其内容为:
$class=org.owasp.html.HtmlPolicyBuilder
$scope=global
3) 将上面创建的组件添加到我们需要清理 URL 的现有组件中。现有组件属性文件(TestingUtil.properties)
$class=com.util.TestingUtil
htmlPolicyBuilder=/test/util/HTMLPolicyBuilder
4)TestingUtil.java:
private HtmlPolicyBuilder htmlPolicyBuilder;(setters and getters)
public String filterUrl(String url) {
String filteredURL = url;
PolicyFactory policy = htmlPolicyBuilder
.allowElements("a")
.allowUrlProtocols("https")
.allowAttributes("href").onElements("a")
.requireRelNofollowOnLinks()
.toFactory();
filteredURL = policy.sanitize(url);
}
return filteredURL;
请建议。