Как узнать реальный IP-адрес посетителя
Узнать IP-адрес на PHP можно очень легко через $_SERVER["REMOTE_ADDR"], однако, иногда пользователь сидит через прокси-сервер. Тогда встаёт вопрос: "А как узнать его реальный IP-адрес?". В этом случае $_SERVER["REMOTE_ADDR"] вернёт адрес прокси-сервера, а не пользователя. Чтобы не тратить Ваше время, сразу скажу - никак. А для тех, кто хочет узнать почему, читайте статью дальше.
Вопрос из данной статьи мне иногда задают, поэтому я решил написать про это поподробнее.
В Интернете Вы сможете найти массу примеров "определения реального IP-адреса" с помощью переменных HTTP_X_FORWARDED_FOR и/или HTTP_CLIENT_IP. Но Вы должны понимать, что это всё лишь заголовки, отправленные клиентом. А клиент может отправить всё, что угодно. Отсюда можно сделать простой вывод: полагаться на эти переменные не стоит вообще.
Плюс такого понятия как "реальный IP-адрес" и вовсе не существует. В большинстве случаев, Вы получите только где-то 3-й или 4-й IP-адрес. Поскольку пользователь не напрямую соединяется с Интернетом, а через кучу роутеров. И у каждого роутера свой IP-адрес. А Вы же видите самый последний.
Отсюда можно сделать вывод: даже те, кто не скрывается - скрыты. Безусловно, найти человека по IP-адресу, с которым он соединился с Вашим сервером, можно, если соответствующие органы сделают запросы на все прокси-сервера и получат от них ответ. В итоге, по цепочке можно будет узнать точный адрес абонента. Но через PHP сделать это, очевидно, не получится.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.