jsoup - 清理 HTML


以下示例将展示 XSS 攻击或跨站脚本攻击的预防。

句法

String safeHtml =  Jsoup.clean(html, Safelist.basic());  

在哪里

  • Jsoup - 解析给定 HTML 字符串的主类。

  • html - 初始 HTML 字符串。

  • safeHtml - 清理后的 HTML。

  • Safelist - 提供默认配置以保护 html 的对象。

  • clean() - 使用白名单清理 html。

描述

Jsoup 对象使用白名单配置清理 html。

例子

使用您选择的任何编辑器在 C:/> jsoup 中创建以下 java 程序。

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.safety.Safelist;

public class JsoupTester {
   public static void main(String[] args) {
      String html = "<p><a href='http://example.com/'"
         +" onclick='checkData()'>Link</a></p>";

      System.out.println("Initial HTML: " + html);
      String safeHtml =  Jsoup.clean(html, Safelist.basic());
      System.out.println("Cleaned HTML: " +safeHtml);
   }
}

验证结果

使用javac编译器编译该类,如下所示 -

C:\jsoup>javac JsoupTester.java

现在运行 JsoupTester 查看结果。

C:\jsoup>java JsoupTester

查看结果。

Initial HTML: <p><a href='http://example.com/' onclick='checkData()'>Link</a></p>
Cleaned HTML: <p><a href="http://example.com/" rel="nofollow">Link</a></p>