Ale to nie zabezpieczy np. przed czymś takim:
Cytat
%3Cscript%3Ealert%28%27hacked%21%21%21%27%29%3C%2fscript%3
Generalnie skupiłbym się na walidacji zmiennej przed jej docelowym uzyciem, np. w miejscu, gdzie zmienna id z $_GET ma byc użyta jako liczbowy identyfikator czegos tam, rzutować ją na INT-a, albo sprawdzać is_int() czy is_numeric().
Albo utworzyć whitelist'ę z dopuszczalnymi wartościami spodziewanego parametru i nie dopuścic do użycia zmiennej $_GET, której wartość nie znajduje się na tej liście.
Uniwersalna walidacja ma te wadę, że nie przewidzisz wszystkich możliwych wektorów ataku i nie jesteś w stanie wszystkiego odfiltrować. Większość tak, ale nie wszystko.