データ検証の概要
データ検証機能を使用して、入出力要求で明示的に定義された文字のみを許可し、その他のすべてのデータをドロップすることができます。
さまざまな要求パラメーターを検証する独自の検証ルールを定義できます。 また、ユーザー・インターフェース (UI) にデータを返す前に、データをエンコードすることも可能です。
データ検証は、パラメーター名、パラメーター値、Cookie 名、Cookie 値などのさまざまな種類の入力に対して実行できます。 このアプリケーションは、正規表現ベースの検証もサポートしています。
入力バリデーター
入力バリデーターは、特定の入力用に登録されたすべての検証ルールを検出し、検証します。 バリデーターは、要求ラッパーによって呼び出され、要求入力を検証します。
デフォルトでは、パラメーター値やパラメーター名などの要求入力を検証するために、入力バリデーターは、アプリケーションによって提供される正規表現を使用します。 <INSTALL_DIR>/repository/eardata/wsc/war/WEB-INF/regularexpressions<INSTALL_DIR>/jar/platform_afc/9_5/platform_dv.jarアプリケーションに同梱されている正規表現は、ファイル regularexpressions/sc_regularexpressions.xml (内にある)で定義されており、アプリケーションのオーバーライド正規表現リストは、ファイル wsc_regularexpressions.xml (内にある)で定義されています。
検証ルール
検証ルールは、入力を検証およびサニタイズします。 検証ルールには、検証の実行対象である入力 ID としてプロパティーが含まれています。 検証は、対応する入力要求がアクセスされると必ず開始されます。 検証ルールは、検証する必要がある入力の名前を指定する必要があります。 例えば、パラメーターの値を検証するには、検証ルールはそのパラメーターの名前を指定する必要があります。 同じ名前を持つ複数の入力が存在する可能性があります。 対応する入力を検証するために、すべての検証ルールを入力バリデーターに登録する必要があります。
一部の検証ルールは、アプリケーションによって提供されます。 <INSTALL_DIR>/repository/eardata/wsc/war/WEB-INF/validationrules<INSTALL_DIR>/jar/platform_afc/9_5/platform_dv.jarアプリケーションに同梱されている検証ルールは、ファイル validationrules/sc_validationrules.xml (内にある)に定義されており、アプリケーションによる上書き用の正規表現リストは、ファイル(内にある)に wsc_validationrules.xml 定義されています。 これらの検証ルールは、同じカテゴリーに属しているすべての入力に対して開始されます。 たとえば、 HTTP のヘッダー名はすべて、正規 HTTPHeaderName 表現に基づいて検証されます。
- 正規表現ベースの検証ルール — このタイプの検証ルールは、正規表現ベースの検証を実行するために設計されています。 この検証ルール・タイプは、複数の許可リストおよび拒否リストの正規表現をサポートします。
- Java ベースの検証ルール — このタイプの検証ルールは、入力に対して Java ベースの検証およびサニタイズを実行するために設計されています。 この検証ルール・タイプは、入力を検証してから、実装クラスの
getValidInput()メソッドを呼び出します。