レガシー・プラットフォーム

データ検証の概要

データ検証機能を使用して、入出力要求で明示的に定義された文字のみを許可し、その他のすべてのデータをドロップすることができます。

さまざまな要求パラメーターを検証する独自の検証ルールを定義できます。 また、ユーザー・インターフェース (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() メソッドを呼び出します。