【问题标题】:Java: Owasp AntiSamy vs Owasp-java-html-sanitizeJava:Owasp AntiSamy 与 Owasp-java-html-sanitize
【发布时间】:2015-04-19 02:34:32
【问题描述】:

我现在正在寻找 html 净化器库。而且我发现有两个“owasp”库。第一个是https://code.google.com/p/owasp-java-html-sanitizer/,第二个是https://www.owasp.org/index.php/Category:OWASP_AntiSamy_Project

我的问题是 - 比较它们的优缺点是什么。

【问题讨论】:

    标签: java owasp html-sanitizing


    【解决方案1】:

    OWASP java html sanitizer 是比 antisamy 更新的项目。这些项目的目标是相同的——净化 HTML 以防止 XSS 并过滤掉其他不需要的内容。然而他们的方法是不同的。每种方法都有其权衡,因此您应该根据您的要求选择解决方案。简而言之,html sanitizer 使用起来更简单、速度更快,但另一方面它的灵活性较低。但是,对于大多数用户来说,它应该已经足够好了。注意,antisamy 不仅可以处理 html,还可以处理 css。

    Here is message 来自 owasp 邮件列表,请求创建 HTML sanitizer 项目,包括其与 antisamy 的一些优点和区别的列表。

    我想开始一个新的 OWASP 项目,该项目非常类似于 反萨米。

    我想将此项目称为“OWASP Java HTML Sanitizer”,并且 已有代码:

    https://code.google.com/p/owasp-java-html-sanitizer/

    这是来自 Google 捐赠的 Caja 项目的代码。它是 相当高的性能和低内存利用率。

    1. 此代码在 DOM 模式下提供 4 倍的 AntiSamy 清理速度,在 SAX 模式下提供 2 倍的 AntiSamy 速度
    2. 非常易于使用。它允许简单的编程 POSITIVE 策略配置(见下文)。没有 XML 配置。
    3. 它不受 Niko HTML 解析器带来的各种安全漏洞的影响
    4. 由我自己和 Google AppSec 团队的 Mike Samuel 积极维护
    5. 已经通过了 AntiSamy 80% 的单元测试还有更多
    6. 只有 3 个依赖的 jar 文件
    7. 这是一个纯 Java 6 的项目,不支持 Java 5 或更低版本(请注意 AntiSamy 支持 1.4+)。

    我们目前处于 Alpha 阶段 - 但将做好生产准备 很快。

    示例程序化政策示例:

         // A VERY SIMPLE WHITELISTING POLICY
        final ImmutableSet<String> okTags = ImmutableSet.of(
            "a", "b", "br", "div", "i", "img", "input", "li",
            "ol", "p", "span", "ul");
    
        final ImmutableSet<String> okAttrs = ImmutableSet.of(
            "div", "checked", "class", "href", "id", "target", "title", "type");
    

    你怎么看?有点尊重的竞争是好事吗?

    • 吉姆

    【讨论】:

    猜你喜欢
    • 2015-12-28
    • 1970-01-01
    • 2012-08-14
    • 2017-04-03
    • 2023-03-30
    • 2012-07-07
    • 2017-08-25
    • 2015-06-30
    • 2013-01-21
    相关资源
    最近更新 更多