Esempio

public class TaintDemoClass {

private String input;

public TaintDemoClass(){

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

private String getInput(){
// get input from user...
return aString;
}

private String sanitizeInput(String s) {
// clean input...
return cleanString;
}

private void sensitiveMethod(String s) {
// use input...
}

}



Soluzione
Per evitare gli eventuali effetti dannosi di un input non controllato nei metodi sensibili, inviare sempre questo input mediante un metodo sanitizing.


public class TaintDemoClass {

private String input;

public TaintDemoClass() {

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

private void getInput(){
// get input from user...
return aString;
}

private String sanitizeInput(String s) {
// clean input...
return cleanString;
}

private void sensitiveMethod(String aString) {
// use input...
}

}