検証とエンコードの有効範囲
「トレース」ビューから、カスタムの検証ルーチンとエンコード・ルーチン (AppScan® ソース・セキュリティー・ナレッジベース・データベースに格納されているルーチン) を指定することにより、データを汚染されたデータとしてではなくチェック済みデータとしてマークを付けることができます。これに該当するルーチンは、それらの有効範囲に基づいてカスタム・ルール・ウィザードで定義します。
検証ルーチンとエンコード・ルーチンを作成する手順については、例 4: 詳細な検証を参照してください。
検証ルーチンまたはエンコード・ルーチンは、有効範囲に基づいており、次のように定義されます。
API 単位
API 単位の検証ルーチンとエンコード・ルーチンは、1 つまたは複数のプロジェクトに関連付けることができます。
API 単位のルーチンは、特定のソース API のすべてのインスタンスから受け取ったデータを汚染除去します。たとえば、次の API からの入力に対して検証ルーチンを指定することができます。
javax.servlet.ServletRequest.getParameter
(java.lang.string):java.lang.string
API 単位のルーチンはサーバーに保存されます。プロジェクトの API 単位のルーチンはプロジェクトに保存されます。
呼び出しサイト単位
呼び出しサイト単位のルーチンは、常に、1 つのプロジェクトに関連付けられます。
呼び出しサイト単位のルーチンは、コード内の特定の位置から受け取ったデータを汚染除去します。呼び出しサイト単位の検証ルーチンまたはエンコード・ルーチンを作成するときに、そのルーチンが特定の入力呼び出しサイトに適用されることを指定します。呼び出しサイト単位のルーチンは、常に、プロジェクトに保存されます。
注: 呼び出しサイト単位は、同じメソッド内の検証ルーチンに対するすべての呼び出しに適用されます。