Определение реального IP-адреса пользователя
Часто, в особенности от новичков, приходится слышать вопрос об определении IP-адреса пользователся. И примерно также часто они получают ответ, что панацея это $_SERVER['REMOTE_ADDR']. Но если пользователь пользуется прокси-сервером, как например я, когда на работе, то данная переменная вернет лишь IP проксика.
Для исключения такого варианта, я использую следующую функцию:
function getRealIpAddr()
{
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}
Ранее код этой функции можно было увидеть в посте об определении географических данных пользователя по IP, но для того, чтобы давать ответ на поднятый тут вопрос ссылкой без лишней информации, я решил выделить это в отдельный пост, да простят меня мои подписчики.
Ну и алаверды:
Если вдруг, Вам понадобится размещать информацию полученную от скрипта в базе данных, то скорее всего, очень пригодится хороший sql server, который будет играть ключевую роль в скорости добавления и изменения информации.


Супер просто супер
первый понравился - этот думаю не хуже.
У вас пытливый ум
ЕПТИ СПС ОГРОМНОЕ.
Теперь мне стало всё ясно, благодарю за нужную информацию.
Заходите еще
Здесь не может быть ошибки?
В принципе не должо, у меня все работает… только если ваш юзер не подделывает переменные. К слову, все что начинается с HTTP_ можно подделать, например $_SERVER['HTTP_X_FORWARDED_FOR'] и $_SERVER['HTTP_CLIENT_IP']
)))))))))) я вам не могу поверить
Хватит писать, на море пора! )
Пользуюсь очень похожей функцией )