1

我的应用程序中有一个页面,用户可以在其中输入 HTML 输入。现在为了避免 XSS 攻击,我正在使用 OWASP HTML Sanitizer 来清理用户输入。如果根据策略用户输入无效,我只想将用户赶出去。

有没有一种方法可以简单地检查输入的 html 是否对策略有效而不进行清理?

就像是

public static boolean isValid(字符串输入,策略策略);

4

1 回答 1

0

您可以自己定义该isValid方法,但我不确定您是否可以在不调用 sanitize 方法的情况下做到这一点。

// Define the policy factory
PolicyFactory polFac = new HtmlPolicyBuilder()
    .allowElements("a", "p")
    .allowAttributes("href").onElements("a")
    .toFactory(); 

boolean isValid(String input, PolicyFactory polFac){
    return input.equals(polFac.sanitize(input));
}

您可以使用报告被拒绝元素和属性名称isValid的方法的第二个版本sanitize(在类中)获得更健壮的版本。PolicyFactory

于 2014-11-20T17:12:52.610 回答