Задать вопрос
@driverx18

Почему всё же $_SERVER['REMOTE_ADDR'] отдает 127.0.0.1 на локали и как это побороть?

Я так понимаю эта проблема многих коснулась, потому что я гуглил стек и на английском, и на русском, и не нашел однозначного ответа, может тут есть у кого
В общем, если я смотрю когда сайт запущен на VPS, хостинге, то там через $_SERVER['REMOTE_ADDR'] отдаётся нормальный IP-адрес. Если же я смотрю на локали, то постоянно 127.0.0.1. У меня сейчас проект, где нужно знать IP еще на этапе разработки, чтобы знать как сайт себя вёл в нужной ситуации. Как сделать так, чтобы возвращался реальный IP?
P.S. через вардамп вывел $_SERVER, там нигде и близко нет моего родного айпишника =(
  • Вопрос задан
  • 540 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
Melkij
@Melkij
PostgreSQL DBA
Вы, видимо, будете крайне удивлены, но - с чего вы решили, что у хоста вообще может быть только один IP?
Хоть несколько сотен адресов на каждом сетевом интерфейсе.

И чем вам не нравится 127.0.0.1? 127.0.0.1 - отличный адрес. Он есть чуть менее чем у каждого хоста. Помимо него у каждого же хоста может быть любое число других сетевых адресов. В том числе из более чем обширной сети 127.0.0.0/8 - вся эта орава является локальными адресами.

И это только для ipv4, и даже без учёта трансляции адресов. Для ipv6 by design существует множество адресов на всех интерфейсах.
Ответ написан
На локалке ваш реальный IP 127.0.0.1 - и это нормально
Ответ написан
Комментировать
@imhuman
Если нет постоянного IP настрой DDNS и стучись на свой локальный сервер снаружи.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы