По сути, я хочу отображать внешний общедоступный IP-адрес хоста независимо от того, является ли он частью локальной сети. Сейчас я просто подключаюсь к myipaddress.com и получаю его оттуда. Я просто не знаю, доверяю ли я этому сайту как стабильному источнику. Есть ли какая-то власть, которая способствует этому?
2 ответа
Каждый веб-сервер в общедоступном Интернете автоматически видит ваш внешний IP-адрес. Насколько мне известно, стандартного способа «отговориться» просто не существует (например, через заголовок или что-то в этом роде).
Если вы хотите сделать это вручную, просто используйте один из многочисленных вопросов «какой у меня IP?» сервисы вроде www.infobyip.com/detectmyip.php
Если вы хотите сделать это автоматически, наиболее стабильным способом будет установка скрипта на удаленном сервере и вывод IP-адреса запрашивающей стороны. В PHP в большинстве случаев это будет выглядеть так:
<? echo $_SERVER["REMOTE_ADDR"]; ?>
(здесь — это подробное обсуждение того, как получить IP-адрес различными способами, но если описанное выше сработало для вас один раз, оно, вероятно, будет работать всегда.)
STUN RFC 3489 сделает это, хотя вам потребуется доступ к открытому серверу STUN. Существуют и другие сайты (например, myipaddress.com), которые сообщат вам ваш предполагаемый адрес, но для этого не существует «стандартной» службы.
Похожие вопросы
Связанные вопросы
Новые вопросы
networking
Для большинства вопросов программирования используйте тег [network-programming]. Сетевые вопросы, не относящиеся к программированию, не относятся к теме и должны задаваться по вопросам сетевой инженерии, суперпользователя или ошибки сервера Этот тег подходит только для вопросов, касающихся уникальных сетевых потребностей в поддержке разработки программного обеспечения.