Еще одна заметка по вопросу надежности:
Любой может подделать HTTP_X_FORWARDED_FOR, используя такой инструмент, как плагин Firefox «Tamper Data» или собственный локальный прокси-сервер (например, Privoxy). Это означает, что вся строка может быть фиктивной, а REMOTE_ADDR является фактическим исходным хостом. Это также может означать, что первый адрес «client1» является фальшивым, а затем клиент подключается через прокси-сервер, в результате чего proxy1 является IP-адресом клиента, а REMOTE_ADDR - единственным используемым прокси.
Если вы хотите запретить доступ на основе IP, я бы рекомендовал проверить каждый IP-адрес в заголовке XFF, а также REMOTE_ADDR.
Если вы хотите предоставить доступ в зависимости от региона IP, я бы рекомендовал разрешить доступ только в том случае, если XFF не заполнен, а IP находится в соответствующей области.
Как уже заметил Mastermind, существуют прокси, которые скрывают цепочку прокси. Например, сеть Tor будет отображать запрос, как будто он поступил с конечного прокси-сервера, а не с исходного IP-адреса. Анонимные прокси часто заявляют, что они перенаправляют на тот же IP-адрес, который указан в REMOTE_ADDR.
Фильтрация на основе IP, как правило, является довольно грубым механизмом контроля доступа в крайнем случае.