Hi, damit ich mir die Überprüfung jedes Input-Feldes spare (damit es zu keiner SQL - Injection oder einer XSS lücke kommt) will ich diverse Zeichen von allen $_GET und $_POST variablen rausnehmen. Hier mein Lösungsanasatz:
<?php
function clearVars() {
foreach($_GET as $key => $value) {
$_GET[$key] = stripslashes($value);
$_GET[$key] = str_replace('"', '', $value);
$_GET[$key] = str_replace(''', '', $value);
$_GET[$key] = str_replace('\', '', $value);
$_GET[$key] = str_replace(';', '', $value);
}
}
clearVars();
echo $_GET[a].'<br>';
echo $_GET[b].'<br>';
?>
Das Problem ist, dass die Zeichen trozdem alle drinnen bleiben. Der Code ansich Funktioniert, wenn ich ihn direkt auf eine Variable anwende. Jedoch bei $_POST und $_GET funktioniert es nicht wie gewollt.
http://localhost/test.php?a=";aaa"&b='wblaaaawad;'
ergibt:
";aaa"
'wblaaaawad;'