簡體   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