внезапно запускается $ _SERVER 10.10.10.10 php

На моем рабочем месте я сохраняю журнал для пользователей, когда они посетили мой сайт (например, логин, выход из системы) с их IP-адресом. Я использую $_SERVER['REMOTE_ADDR'] для получения IP-адреса. Он хранил точный IP-адрес посетителя, но внезапно эта переменная начала возвращаться 10.10.10.10 для всех моих клиентов.

Это происходит с 01-31-2011.

Каковы могут быть причины?

Информация о сервере: LAMP EDIT: теперь у меня есть функция, которая также возвращается так же 10.10.10.10

 function GetIP() { if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) $ip = getenv("HTTP_CLIENT_IP"); else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) $ip = getenv("HTTP_X_FORWARDED_FOR"); else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) $ip = getenv("REMOTE_ADDR"); else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) $ip = $_SERVER['REMOTE_ADDR']; else $ip = "unknown"; return($ip); } 

благодаря

Этот IP-адрес IANA «Черная дыра» – никто его не использует, и он не считается действительным общедоступным IP-адресом. Как правило, он используется в коде в качестве заполнителя для IP-адреса или для издевательства над кодом.

Вы уверены, что вы не использовали фрагмент кода где-то, что перезаписывает это значение? Проверьте случайность, if($_SERVER['REMOTE_ADDR'] = '10.0.10.10') (обратите внимание на знак единого знака). Короче говоря, этот адрес не может быть законным.

Однако он является законным для использования в качестве внутреннего IP-адреса. Как было предложено другими, это может быть результатом внутренней маршрутизации запросов. Проконсультируйтесь с хостом, чтобы узнать, были ли какие-либо изменения в структуре сети.

Если вы (или ваш провайдер) добавили балансировщик нагрузки, тогда REMOTE_ADDR отобразит IP-адрес балансира. Чтобы получить IP-адреса пользователей, вместо этого используйте REMOTE_IP