当前位置: 首页 > 文档资料 > JSoup 中文教程 >

清理 HTML(Sanitize HTML)

优质
小牛编辑
148浏览
2023-12-01

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

语法 (Syntax)

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

哪里

  • Jsoup - 解析给定HTML String的主类。

  • html - 初始HTML字符串。

  • safeHtml - 清理HTML。

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

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

描述 (Description)

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

例子 (Example)

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

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);
   }
}

验证结果 (Verify the result)

使用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>