2015-02-18 18 views

Trả lời

16

OWASP java html sanitizer là dự án mới hơn là chống độc hại. Mục tiêu của các dự án này là giống nhau - khử trùng HTML để ngăn chặn XSS và lọc ra các nội dung không mong muốn khác. Tuy nhiên cách tiếp cận của họ là khác nhau. Mọi cách tiếp cận đều có sự cân bằng của nó nên bạn nên chọn giải pháp tùy thuộc vào yêu cầu của bạn. Trong một nutitizer html nutshell là đơn giản để sử dụng và nhanh hơn, mặt khác nó là ít linh hoạt. Tuy nhiên nó phải đủ tốt cho hầu hết người dùng. Lưu ý rằng antisamy có thể xử lý không chỉ html mà còn css.

Here is message từ danh sách gửi thư owasp yêu cầu tạo dự án khử trùng HTML, bao gồm danh sách một số lợi thế và sự khác biệt của nó từ việc chống độc hại.

Tôi muốn bắt đầu một dự án OWASP mới rất giống với AntiSamy.

Tôi muốn gọi dự án này là "OWASP Java HTML Sanitizer" và có mã sẵn đã tại địa chỉ:

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

Đây là mã từ dự án Caja đó đã được tặng bởi Google. Đó là hiệu suất khá cao và sử dụng bộ nhớ thấp.

  1. Mã này cung cấp 4X tốc độ của AntiSamy sanitization trong chế độ DOM và 2X tốc độ của AntiSamy trong chế độ SAX
  2. Rất dễ sử dụng. Nó cho phép cấu hình chính sách POSITIVE lập trình đơn giản (xem bên dưới). Không có cấu hình XML.
  3. Nó không bị ảnh hưởng từ các lỗ hổng bảo mật khác nhau mà phân tích cú pháp Niko HTML mang theo nó
  4. Tích cực duy trì bởi bản thân mình và Mike Samuel từ đội AppSec của Google
  5. Đã đi qua 80% số đơn vị AntiSamy của kiểm tra cộng nhiều hơn nữa .
  6. Chỉ có 3 tệp jar phụ thuộc
  7. Đây là một dự án Java 6 thuần túy và không hỗ trợ Java 5 trở xuống (Xin lưu ý rằng AntiSamy hỗ trợ 1,4+).

Hiện tại chúng tôi đang ở giai đoạn Alpha - nhưng sẽ sớm sẵn sàng sản xuất và .

Mẫu chính sách chương trình ví dụ:

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

Bạn nghĩ gì? Là một chút cạnh tranh tôn trọng một điều tốt?

  • Jim
+0

Nhưng với Html Sanitizer bạn phải xác định một chính sách và AntiSamy đã có chứa bộ được xác định trước các chính sách, những gì có thể được thực sự hữu ích cho HTMLs đủ nói chung. –