Я использую только _GET или _POST. Я предпочитаю иметь контроль.
Что мне не нравится ни в одном фрагменте кода в OP, так это в том, что они отбрасывают информацию о том, какой метод HTTP использовался. И эта информация важна для очистки входных данных.
Например, если скрипт принимает данные из формы, которая будет введена в БД, тогда в форме лучше использовать POST ( использовать GET только для идемпотентных действий ). Но если скрипт получает входные данные через метод GET, то он должен (обычно) быть отклонен. Для меня такая ситуация может потребовать записи нарушения безопасности в журнал ошибок, поскольку это признак того, что кто-то что-то пытается.
При наличии любого фрагмента кода в OP эта очистка была бы невозможна.