Può avere senso
No, nessuno.
Vorrei "distruggere" tutti i possibili sql injection (in ingresso) e XSS (in uscita) ...
Se ci fosse una magica funzione che "sanitizzasse" () tutti i tuoi input e output, utilizzeremmo tutti quanti quella. Bhè, in realtà php per qualche tempo ha avuto una opzione chiamata "magic-quotes", ormai deprecata ed eliminata, incaricata di filtrare magicamente tutti gli input, ed è stata fonte di imbarazzo per anni.

Prendi la tua purgastringa Cosa fa? Elimina qualche parola chiave di qualche linguaggio e addizionalmente togliere i caratteri non alfanumerici. Ma perché? Perché dovresti negare ai tuoi utenti la possibilità di scrivere "I like cheese!" o di scegliersi un qualsiasi nickname che contenga altri caratteri, qualche lettera accentata, una emoji, etc.?

Quindi come dovresti fare per proteggerti? E' sufficiente capire cosa si fa. Se stampi del testo in una pagina html, devi sapere che alcuni caratteri hanno un significato particolare. < e > ad esempio vengono utilizzati per dichiarare un tag (, etc.). In questo contesto, per evitare XSS, puoi convertire quei caratteri in delle entità che le rappresentano ma hanno un altro significato: http://php.net/manual/it/function.ht...alchars.phpNel contesto SQL non va bene, lì altri caratteri hanno altri significati. http://stackoverflow.com/questions/6...ction-in-phpSe devi eseguire un comando con http://php.net/manual/en/function.exec.php , e vuoi passare delle stringhe come argomenti, allora dovrai farlo in modo appropriato: http://php.net/manual/en/function.escapeshellcmd.php

E così via.