繁体   English   中英

Java:Owasp AntiSamy vs Owasp-java-html-sanitize

[英]Java: Owasp AntiSamy vs Owasp-java-html-sanitize

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

我的问题是 - 比较它们时的利弊是什么。

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

以下是来自owasp邮件列表的消息 ,请求创建HTML清理程序项目,包括其中一些优点的列表以及与antisamy的差异。

我想开始一个与AntiSamy非常相似的新OWASP项目。

我想将此项目称为“OWASP Java HTML Sanitizer”,并且已在以下位置提供代码:

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

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

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

我们目前正在阿尔法,但很快就会投入生产。

示例性程序策略示例:

  // 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"); 

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

  • 吉姆

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM