Package com.streamconverter.security
Class SecureXPathValidator
java.lang.Object
com.streamconverter.security.SecureXPathValidator
XPathインジェクション攻撃を防ぐためのバリデータークラス
このクラスは、XPath式の安全性を検証し、 悪意のあるXPath式を検出・ブロックします。
主な機能:
- XPathインジェクション攻撃パターンの検出
- 危険な関数の使用制限
- 特殊文字のエスケープ処理
- XPath式の構造的検証
- セキュリティ設定による動的制御
- Since:
- 1.0.0
-
Method Summary
Modifier and TypeMethodDescriptionstatic String[]
許可されたXPath関数のリストを取得しますstatic boolean
isXPathSafe
(String xpath) XPath式が安全かどうかを判定します(例外を投げない版)static void
セキュリティ設定の現在の状態をログに出力しますstatic String
sanitizeXPath
(String xpath) XPath式をサニタイズします(エスケープ処理)static void
validateXPath
(String xpath) XPath式の安全性を検証します
-
Method Details
-
validateXPath
XPath式の安全性を検証します- Parameters:
xpath
- 検証対象のXPath式- Throws:
SecurityException
- XPath式が安全でない場合IllegalArgumentException
- xpath引数がnullまたは空の場合
-
sanitizeXPath
XPath式をサニタイズします(エスケープ処理)- Parameters:
xpath
- サニタイズ対象のXPath式- Returns:
- サニタイズされたXPath式
-
isXPathSafe
XPath式が安全かどうかを判定します(例外を投げない版)- Parameters:
xpath
- 検証対象のXPath式- Returns:
- 安全な場合true、そうでない場合false
-
getAllowedXPathFunctions
許可されたXPath関数のリストを取得します- Returns:
- 許可された関数の配列
-
logSecurityStatus
セキュリティ設定の現在の状態をログに出力します
-