Jsoup-sanitize-html

提供:Dev Guides
移動先:案内検索

jsoup-HTMLのサニタイズ

次の例では、XSS攻撃またはクロスサイトスクリプティング攻撃の防止を示します。

構文

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

どこで

  • Jsoup -指定されたHTML文字列を解析するメインクラス。
  • html -初期HTML文字列。
  • safeHtml -クリーンなHTML。
  • ホワイトリスト-htmlを保護するためのデフォルト設定を提供するオブジェクト。
  • * clean()*-ホワイトリストを使用してHTMLをクリーンアップします。

説明

Jsoupオブジェクトは、ホワイトリスト構成を使用してHTMLをサニタイズします。

たとえば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);
   }
}

結果を検証する

次のように 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>