Часто, в особенности от новичков, приходится слышать вопрос об определении 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’]
)))))))))) я вам не могу поверить 🙂
Хватит писать, на море пора! )
Пользуюсь очень похожей функцией )