anonymuss222: $_GET und $_POST filtern

Beitrag lesen

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;'