範例

public class TaintDemoClass {

private String input;

public TaintDemoClass(){

input = getInput();
sensitiveMethod(input);
}

private String getInput(){
// 從使用者取得輸入...
return aString;
}

private String sanitizeInput(String s) {
// 清除輸入...
return cleanString;
}

private void sensitiveMethod(String s) {
// 使用輸入...
}

}



解決方案
為了避免在機密方法中不受控制的輸入所可能會造成的有害影響,請一律透過淨化方法來傳送這項輸入。


public class TaintDemoClass {

private String input;

public TaintDemoClass() {

input = getInput();
String cleanInput = sanitizeInput(input);
sensitiveMethod(cleanInput);
}

private void getInput(){
// 從使用者取得輸入...
return aString;
}

private String sanitizeInput(String s) {
// 清除輸入...
return cleanString;
}

private void sensitiveMethod(String aString) {
// 使用輸入...
}

}