PetroFique, готов поспорить, что ты не реализовал MVC ни разу (вот именно настоящий MVC по Реенскаугу). И бизнес-логика у тебя наверняка в контроллерах, что в общем-то довольно частое явление для веб-разработки, но не единственно верное.
В $_SERVER['REMOTE_ADDR'] строка, а при сравнении строки '2' больше чем '100500', потому что они сравниваются посимвольно.
Примените https://www.php.net/manual/ru/function.ip2long.php и сравнивайте числа.
Если вы паритесь не о производительности, а о написании лишних строчек, то можете написать свою функцию типа
Если элементы найдены - добавляет обработчики, если не найдены - возвращает false;