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>
廣告