Odstąpię od reguły i podam kod, który kiedyś znalazłem w sieci:
function zabezpiecz($tablica, $metoda=1) {
foreach ($tablica as $klucz=>$wartosc) {
$tablica[$klucz] = zabezpiecz($wartosc, $metoda); // rekurencja dla tablic
} else if ($metoda==1) {
// usuwam ukośniki i zabezpieczam znaki specjalne po swojemu
array( '&', '"', '<', '>', "\0", '\\', "'"), // z array('&', '"', '<', '>', '', '\\\\', "\'"), // na $wartosc
);
} else if ($metoda==2) {
// dodaję ukośniki, jeżeli PHP ich nie dodaje automatycznie
} else if ($metoda==3) {
// wszystkie zmienne mapuję na liczby całkowite
$tablica[$klucz] = (int)$wartosc;
} else {
// bez zmian dla metod niezdefiniowanych
$tablica[$klucz] = $wartosc;
}
}
return $tablica;
}
get_magic_quotes_gpc oczywiście dla tych, którzy mają stare PHP

Użycie:
if (!empty($_GET)) $_GET = zabezpiecz
($_GET, 1
); if (!empty($_POST)) $_POST = zabezpiecz
($_POST, 1
); if (!empty($_COOKIE)) $_COOKIE = zabezpiecz
($_COOKIE, 3
);