Exemple

public class TaintDemoClass {

private String input;

public TaintDemoClass(){

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

private String getInput(){
// obtenir une entrée de la part de l'utilisateur...
return aString;
}

private String sanitizeInput(String s) {
// nettoyer l'entrée...
return cleanString;
}

private void sensitiveMethod(String s) {
// utiliser l'entrée...
}

}



Solution
Afin d'éviter tout incident dû à une entrée non contrôlée dans les méthodes sensibles, transmettez toujours cette entrée via une méthode de nettoyage.


public class TaintDemoClass {

private String input;

public TaintDemoClass() {

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

private void getInput(){
// obtenir une entrée de la part de l'utilisateur...
return aString;
}

private String sanitizeInput(String s) {
// nettoyer l'entrée...
return cleanString;
}

private void sensitiveMethod(String aString) {
// utiliser l'entrée...
}

}