Példa
public class
TaintDemoClass {
private String
input;
public
TaintDemoClass(){
input = getInput();
sensitiveMethod(input);
}
private String
getInput(){
// felhasználói adatbevitel...
return
aString;
}
private String
sanitizeInput(
String
s) {
// bemenet tisztítása...
return
cleanString;
}
private void
sensitiveMethod(
String
s) {
// bemenet felhasználása...
}
}
Megoldás
A felügyelet nélküli adatbevitel potenciálisan ártalmas hatásainak elkerülése érdekében az érzékeny metódusokban, mindig küldje át a bemenetet egy tisztító metóduson.
public class
TaintDemoClass {
private
String input;
public
TaintDemoClass() {
input = getInput();
String
cleanInput = sanitizeInput(input);
sensitiveMethod(cleanInput);
}
private void
getInput(){
// felhasználói adatbevitel...
return
aString;
}
private String
sanitizeInput(
String
s) {
// bemenet tisztítása...
return
cleanString;
}
private void
sensitiveMethod(
String
aString) {
// bemenet felhasználása...
}
}