Class SecureXPathValidator

java.lang.Object
com.streamconverter.security.SecureXPathValidator

public class SecureXPathValidator extends Object
XPathインジェクション攻撃を防ぐためのバリデータークラス

このクラスは、XPath式の安全性を検証し、 悪意のあるXPath式を検出・ブロックします。

主な機能:

  • XPathインジェクション攻撃パターンの検出
  • 危険な関数の使用制限
  • 特殊文字のエスケープ処理
  • XPath式の構造的検証
  • セキュリティ設定による動的制御
Since:
1.0.0
  • Method Details

    • validateXPath

      public static void validateXPath(String xpath)
      XPath式の安全性を検証します
      Parameters:
      xpath - 検証対象のXPath式
      Throws:
      SecurityException - XPath式が安全でない場合
      IllegalArgumentException - xpath引数がnullまたは空の場合
    • sanitizeXPath

      public static String sanitizeXPath(String xpath)
      XPath式をサニタイズします(エスケープ処理)
      Parameters:
      xpath - サニタイズ対象のXPath式
      Returns:
      サニタイズされたXPath式
    • isXPathSafe

      public static boolean isXPathSafe(String xpath)
      XPath式が安全かどうかを判定します(例外を投げない版)
      Parameters:
      xpath - 検証対象のXPath式
      Returns:
      安全な場合true、そうでない場合false
    • getAllowedXPathFunctions

      public static String[] getAllowedXPathFunctions()
      許可されたXPath関数のリストを取得します
      Returns:
      許可された関数の配列
    • logSecurityStatus

      public static void logSecurityStatus()
      セキュリティ設定の現在の状態をログに出力します