Хорошо достаточно просто
<?PHP echo $_SERVER[REMOTE_ADDR]; ?>
Возможно, нет, я мой IP в настоящее время 72.184.212.85, однако код, выше которого я использую в системе IP-блокировки для сценария, показывает мой IP-адрес как мой домашний IP-адрес сервера 127.0.0.1
Поэтому, когда я перехожу к своему сценарию, мой IP показан как 127.0.0.1, но когда я перехожу на другие сайты, это показано как 72.184.212.85
Как я могу получить первое значение для показа на моем тестовом сервере?
$_SERVER['REMOTE_ADDR']
всегда будет показывать IP-адрес, с которого был отправлен запрос. Если вы используете свой собственный скрипт на своем собственном компьютере в своей собственной сети, ваш внешний IP-адрес никогда не вступает в игру. Запрос должен покинуть вашу локальную сеть, а затем вернуться к внешнему адресу, чтобы он отображался, но если он локальный, этого никогда не произойдет.
Вы должны сделать свой сервер общедоступным, а затем получить доступ к нему из общего адреса. Я предполагаю, что вы в настоящее время используете localhost для доступа к вашему серверу?
запустите сервер, сообщите порт 8080, а затем переместите порт в своем маршрутизаторе, чтобы он был общедоступным в Интернете. Затем посетите веб-страницу / phpscript с сайта http://72.184.212.85:8080 вместо http: // localhost: 8080 .
Вот смешное решение, которое я бы не рекомендовал:
Зарегистрируйте домашний IP-адрес с доменным именем, а затем посмотрите, откуда этот запрос был отправлен через URL-адрес:
$url = $_SERVER["SERVER_NAME"];
или
$url = $_SERVER["HTTP_HOST"];
а затем выполните поиск dns этого результата, который должен вернуть зарегистрированный IP-адрес, т. е. ваш внешний IP-адрес.
$ext_ip = gethostbyaddr($url);
Единственная причина, по которой это не сработает (извините, если я ошибаюсь), если SERVER_NAME использует тот же метод, что и «REMOTE_HOST», который является обратным DNS-поиском, который не будет разрешен, так как ваш внутренний IP-адрес не будет быть зарегистрированным на это доменное имя. Простой способ проверить:
phpinfo();
и посмотреть, что представляют собой переменные среды.