如何使用OWASP Java HTML Sanitizer报告输入是否已清理

时间:2017-11-17 06:35:03

标签: java html owasp

我在API中看到它是可能的,但我无法弄明白this article。甚至有一个how to use that sanitize() method,但他们没有解释如何。本质上我不知道CTX在该方法签名中的含义。如果有人可以提供样本代码,说明如何获得已经过消毒的物品清单,那将是值得赞赏的。

1 个答案:

答案 0 :(得分:0)

您需要设置HtmlChangeListener以捕获已清理的所有元素。然后代码看起来像:

List<String> results = new ArrayList<String>();

HtmlChangeListener<List<String>> htmlChangeListener = new HtmlChangeListener<>()
{
    @Override
    public void discardedTag(List<String> context, String elementName)
    {
        context.add(elementName);
    }

    @Override
    public void discardedAttributes(List<String> context, String tagName, String... attributeNames)
    {
        context.add(tagName);
    }
};

String sanitizedHtml = POLICY_DEFINITION.sanitize(rawHtml, htmlChangeListener, results);
System.out.println("Sanitized elements include: " + String.join(",", results));