jsoup - 清理HTML

以下示例将展示防止XSS攻击或跨站点脚本攻击.

语法

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

其中

  • Jsoup : 用于解析给定HTML字符串的主类.

  • html : 初始HTML字符串.

  • safeHtml : 已清理的HTML.

  • 白名单 : 提供默认配置以保护html的对象.

  • clean() : 使用白名单清理html.

描述

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

示例

使用您选择的任何编辑器创建以下java程序,例如C:/> jsoup.

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.safety.Whitelist;

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, Whitelist.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="https://img01.yuandaxia.cn/Content/img/tutorials/jsoup/" rel="nofollow">Link</a></p>