Um die übergebenen Werte z.B. eines Formulares, die per post gesendet wurden zu verwenden, sollten diese gesäubert werden, um mögliche Angriffe per XSS etc. zu verhindern. Zur Erhöhung der Sicherheit sollten diese Daten auch validiert werden, also z.B. ob eine Variable auch wirklich einen numerischen Wert darstellt und ob dieser im Gültigkeitsbereich liegt. So weit so gut.
Bei meinen vielen Recherchen, auch aktueller Code-Beispiele, bin ich auf recht unterschiedliche und manche wohl eher überholte Methoden gestoßen, diese Aufgabe zu lösen.
Meine Frage ist hier nach der "besten Praxis" (best practice).
Vor einiger Zeit habe ich die Säuberung noch so gemacht, aber das ist wohl nicht mehr up-to-date:
Anschließend vor der Verwendung der jeweiligen Variable, diese noch validiert.
Mein neuer Ansatz wäre nun per input_filter_array(). Allerdings ist mir auch nach dem "Studieren" einiger Beispiele nicht so recht klar, wie ich säubern und validieren zusammenbekomme und wie ich die Daten dann sinnvoll weiterverarbeiten kann, ohne einen zu großen Aufwand zu treiben.
Bei meinen vielen Recherchen, auch aktueller Code-Beispiele, bin ich auf recht unterschiedliche und manche wohl eher überholte Methoden gestoßen, diese Aufgabe zu lösen.
Meine Frage ist hier nach der "besten Praxis" (best practice).
Vor einiger Zeit habe ich die Säuberung noch so gemacht, aber das ist wohl nicht mehr up-to-date:
PHP-Code:
if(isset($_GET)){
clean_vars($_GET);
$GET_CLEAN = $_GET;
//Speicher frei geben
unset($_GET);
}
if(isset($_POST)){
clean_vars($_POST);
$POST_CLEAN = $_POST;
//Speicher frei geben
unset($_POST);
}
if(isset($_SERVER)){
clean_vars($_SERVER);
$SERVER_CLEAN = $_SERVER;
}
function clean_vars(&$var){
global $globalConfig;
if($globalConfig['mainfile']!='administration'){
if(is_string($var) ) {
$var = htmlentities(strip_tags($var), ENT_QUOTES | ENT_IGNORE, "UTF-8");
}else {
if(is_array($var)){
foreach($var as $key => $value)
clean_vars($var[$key]);
}
}
}
}
Mein neuer Ansatz wäre nun per input_filter_array(). Allerdings ist mir auch nach dem "Studieren" einiger Beispiele nicht so recht klar, wie ich säubern und validieren zusammenbekomme und wie ich die Daten dann sinnvoll weiterverarbeiten kann, ohne einen zu großen Aufwand zu treiben.
Kommentar