По сути, я хочу отображать внешний общедоступный IP-адрес хоста независимо от того, является ли он частью локальной сети. Сейчас я просто подключаюсь к myipaddress.com и получаю его оттуда. Я просто не знаю, доверяю ли я этому сайту как стабильному источнику. Есть ли какая-то власть, которая способствует этому?

0
tehryan 16 Янв 2010 в 01:12

2 ответа

Каждый веб-сервер в общедоступном Интернете автоматически видит ваш внешний IP-адрес. Насколько мне известно, стандартного способа «отговориться» просто не существует (например, через заголовок или что-то в этом роде).

Если вы хотите сделать это вручную, просто используйте один из многочисленных вопросов «какой у меня IP?» сервисы вроде www.infobyip.com/detectmyip.php

Если вы хотите сделать это автоматически, наиболее стабильным способом будет установка скрипта на удаленном сервере и вывод IP-адреса запрашивающей стороны. В PHP в большинстве случаев это будет выглядеть так:

<? echo $_SERVER["REMOTE_ADDR"]; ?>

(здесь — это подробное обсуждение того, как получить IP-адрес различными способами, но если описанное выше сработало для вас один раз, оно, вероятно, будет работать всегда.)

1
Community 23 Май 2017 в 13:27

STUN RFC 3489 сделает это, хотя вам потребуется доступ к открытому серверу STUN. Существуют и другие сайты (например, myipaddress.com), которые сообщат вам ваш предполагаемый адрес, но для этого не существует «стандартной» службы.

0
jesup 16 Янв 2010 в 01:25