範例 2:從「追蹤」視圖建立驗證/編碼常式

執行這項作業的原因和時機

由於 AppScan® Source 追蹤FileInputStream.read 方法視為產生污染資料的來源,您應該建立驗證常式或編碼常式,在未來的掃描中剔除這個發現項目。

如果要建立 FileInputStream.read 的輸入驗證常式,請執行下列動作:

程序

  1. 在「追蹤」視圖的呼叫圖中,選取且用滑鼠右鍵按一下 TestCase_IOT_Instance_Val_Encode.encode 方法。
    提示: 如果您要建立的驗證/編碼常式未出現在追蹤圖形中,您可以從「追蹤」視圖啟動「自訂規則精靈」來建立常式。 範例 2:從「自訂規則精靈」建立驗證/編碼常式說明此動作所需的步驟。
  2. 在功能表中,選取標示為驗證/編碼常式
    「標示為驗證/編碼常式」功能表項目
  3. 如果 encode 常式只套用於這個呼叫 FileInputStream.read 的特定實例,請在「指定如何套用這個驗證常式」對話框中,選取這個對於 java.io.FileInputStream.read 的呼叫
    指定如何套用這個驗證常式

    因為 validate 方法是這個類別專用,且與程式碼緊密結合,您通常會指定這個對於 java.io.FileInputStream.read 的呼叫

    選取任何對於 java.io.FileInputStream.read 呼叫,將驗證常式套用至任何對於 read 方法的呼叫。當選取這個選項時,如果只對現行專案有效,也要選取套用至這個專案,否則,請選取套用至所有專案

  4. 設定常式以套用到 FileInputStream 類別的所有 read 方法,以及具有 Technology.IO 內容的任何接收槽(如 java.io.PrintWrite.write 方法):
    1. read 方法新增為來源:雖然您可以指定任何對於 java.io.FileInputStream.read(byte[]):int 的呼叫,以將 java.io.FileInputStream.read(byte[]):int 新增為來源,但我們改以個別地新增來源。在「指定如何套用這個驗證常式」對話框中,選取套用於功能表中的不考量 java.io.FileInputStream.read(byte[]):int,以下指定的所有限制項。然後按一下來源區段的新增按鈕。在「選擇簽章」對話框中,展開 java.io,再展開 FileInputStream 區段。複選 java.io.FileInputStream.read* 節點,然後按一下確定

      「選擇簽章」對話框
      註: 列出的簽署節點數目取決於您的應用程式使用情形。選取所有您想要套用的項目。
    2. 新增接收槽內容:按一下接收槽內容區段的新增 VMAT 內容按鈕。在「選擇內容」對話框中,選取 Technology.IO 內容,然後按一下確定
    3. 完成所有的設定時,對話框類似下列顯示內容:

      完成的「指定如何套用這個驗證常式」對話框
  5. 按一下確定即可儲存及分享驗證常式。