Moim zdaniem tego rodzaju ogólne podejście do sanityzacji nie jest najlepszym sposobem myślenia o rzeczach. Po pierwsze, zapytania parametryczne (najwygodniej chyba przy użyciu PDO) są znacznie lepszym sposobem podejścia do kwestii bezpieczeństwa SQL. Ale ogólnie ...
Wiem, że impulsem programisty jest próba zmniejszenia liczby rzeczy, o których trzeba myśleć. Tak więc, naturalnie, chcesz sprawdzić, czy możesz wymyślić uniwersalną funkcję odkażania, której możesz po prostu przekazać wszystkie dane wejściowe i nie musisz się już martwić. Dane wejściowe to jednak jedna arena, na której, jeśli naprawdę chcesz bezpieczeństwa, musisz dokładnie pomyśleć o tym, czym powinien być każdy przychodzący element danych i gdzie trafią. Jeśli włączysz tutaj autopilota, będziesz wprowadzić w pewnym momencie problem bezpieczeństwa.