HtmlPolicyBuilder OWASP 消毒剂

问题描述

有人可以解释为什么我这样做:

PolicyFactory policy = new HtmlPolicyBuilder()
                .allowElements("a")
                .toFactory();
        policy.sanitize("<a></a>");

我得到空的清理内容

我使用 owasp-java-html-sanitizer-20200713.1.jar

解决方法

使用:.allowWithoutAttributes("a") 解决了问题。

根据 https://github.com/OWASP/java-html-sanitizer

请注意元素“a”、“font”、“img”、“input”和“span”需要>>使用allowWithoutAttributes()方法明确列入白名单,如果>>您希望它们被允许通过当这些元素不>>包含任何属性时的过滤器。