Назад | Перейти на главную страницу

Не серверный метод получения локального IP-адреса в браузере?

Я пытаюсь предоставить пользователям в моей локальной сети возможность «зарегистрироваться» у администратора сети (я) без необходимости а) размещать страницу на моем компьютере б) размещать скрипт на центральном сервере (поскольку это всего лишь router, а не на самом деле надежный HTTP-сервер) или c) зарегистрироваться в динамическом домене, чтобы использовать любой из первых двух и избежать путаницы с отправкой URL-адреса на ссылку на локальный IP-адрес.

Есть ли простой способ отобразить локальный IP-адрес на экране с помощью клиентского скрипта? Я думаю, может быть, у меня может быть iframe, который указывает на какой-то общий URL-адрес с некоторым javascript в пути, чтобы я мог, чтобы пользователи переходили на нелокальный сайт, и iframe всплывал бы с их IP-адресом, который они затем можно ввести форму на главной удаленной странице.

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

Есть ли простой способ отобразить локальный IP-адрес на экране с помощью клиентского скрипта?

Нет, по крайней мере, я не знаю какого-либо кросс-платформенного способа сделать это в Javascript. Маловероятно, что они есть, так как это будет значительная дыра в безопасности (любой сайт, который вы посещаете, может получить вашу сетевую конфигурацию, которая может считаться частной информацией и может помочь в атаках). Можно использовать IE и ActiveX, но я бы не рекомендовал его (не кроссплатформенный, не знаю, работает ли он даже в последних IE).

Вы можете сделать это из Java-апплета (если он подписан), так как у вас есть полный доступ к системе (также возможно, из Flash).

При этом сказано:

Может быть, вы сможете объяснить, почему вы считаете, что вам это нужно. Почему пользователи должны «регистрироваться» на вас? Зачем вам вообще нужен их IP-адрес?

Почему бы вам просто не выдать IP-адреса через DHCP?

Если вы объясните свою проблему / цель более подробно, возможно, есть способ получше.