Я пытаюсь добавить OWASP HTMLSanitizer API в мое приложение ATG (9.3), но получаю исключение ниже:
**** 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) Добавлены owasp-java-html-sanitizer.jar и guava-20.0.jar в моей папке commerce / lib (место, где находятся все банки)
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;
Пожалуйста, предложите.