Я пытаюсь предоставить пользователям моей локальной сети возможность «зарегистрироваться» у администратора сети (у меня) без необходимости а) размещать страницу на моем компьютере, б) размещать скрипт на центральном сервере (поскольку это всего лишь маршрутизатор, а не полноценный HTTP-сервер), или в) регистрироваться в динамическом домене, чтобы выполнить одно из первых двух действий и избежать путаницы, связанной с отправкой URL-адреса на ссылку на локальный IP-адрес.
Есть ли простой способ отобразить локальный IP-адрес на экране через клиентский скрипт? Я думаю, может быть, я мог бы иметь iframe, который указывает на какой-то общий URL с некоторым javascript в пути, так что я мог бы заставить пользователей перейти на нелокальный сайт, и iframe вывел бы их IP-адрес, который они затем могли бы ввести в форму на главной удаленной странице.
Если все остальное не помогает, есть ли способ узнать свой IP-адрес на разных платформах, не требующий использования командной строки (я думаю, что первый вариант, даже если он невозможен, вероятно, более реалистичен, чем второй).
решение1
Существует ли простой способ отобразить локальный IP-адрес на экране с помощью клиентского скрипта?
Нет, по крайней мере, я не знаю ни одного кроссплатформенного способа сделать это в Javascript. Маловероятно, что такой способ есть, поскольку это будет значительной дырой в безопасности (любой сайт, который вы посетите, может получить вашу сетевую конфигурацию, которая может считаться личной информацией и может помочь в атаках). Это возможно с помощью IE и ActiveX, но я бы не рекомендовал это (не кроссплатформенно, не знаю, работает ли это вообще в последних IE).
Вы можете сделать это из Java-апплета (если он подписан), поскольку у вас есть полный доступ к системе (также это возможно из Flash).
Там было сказано:
Может быть, вы можете объяснить, почему вы считаете, что вам это нужно. Почему пользователи должны "регистрироваться" у вас? Зачем вам вообще нужен их IP-адрес?
Почему бы вам просто не раздавать IP-адреса через DHCP?
Если вы объясните свою проблему/цель более подробно, возможно, найдется лучший способ.