検証とエンコードの有効範囲

「トレース」ビューから、カスタムの検証ルーチンとエンコード・ルーチン (AppScan® ソース・セキュリティー・ナレッジベース・データベースに格納されているルーチン) を指定することにより、データを汚染されたデータとしてではなくチェック済みデータとしてマークを付けることができます。これに該当するルーチンは、それらの有効範囲に基づいてカスタム・ルール・ウィザードで定義します。

検証ルーチンとエンコード・ルーチンを作成する手順については、例 4: 詳細な検証を参照してください。

検証ルーチンまたはエンコード・ルーチンは、有効範囲に基づいており、次のように定義されます。

API 単位

API 単位の検証ルーチンとエンコード・ルーチンは、1 つまたは複数のプロジェクトに関連付けることができます。

API 単位のルーチンは、特定のソース API のすべてのインスタンスから受け取ったデータを汚染除去します。たとえば、次の API からの入力に対して検証ルーチンを指定することができます。

javax.servlet.ServletRequest.getParameter
(java.lang.string):java.lang.string

API 単位のルーチンはサーバーに保存されます。プロジェクトの API 単位のルーチンはプロジェクトに保存されます。

呼び出しサイト単位

呼び出しサイト単位のルーチンは、常に、1 つのプロジェクトに関連付けられます。

呼び出しサイト単位のルーチンは、コード内の特定の位置から受け取ったデータを汚染除去します。呼び出しサイト単位の検証ルーチンまたはエンコード・ルーチンを作成するときに、そのルーチンが特定の入力呼び出しサイトに適用されることを指定します。呼び出しサイト単位のルーチンは、常に、プロジェクトに保存されます。

注: 呼び出しサイト単位は、同じメソッド内の検証ルーチンに対するすべての呼び出しに適用されます。