Могу ли я выполнить поиск DNS (имя хоста по IP-адресу), используя клиентский Javascript? - PullRequest
77 голосов
/ 19 сентября 2008

Я хотел бы использовать Javascript на стороне клиента для выполнения поиска DNS (имя хоста по IP-адресу), как видно с компьютера клиента. Это возможно?

Ответы [ 14 ]

0 голосов
/ 06 сентября 2013

Может быть, я упустил момент, но в ответ парню NAVY вот как браузер может сказать вам IP-адрес «запрашивающей стороны» (хотя, возможно, только их поставщика услуг).

Поместите тег скрипта на страницу, которая будет отображаться клиентом, который вызывает (указывает src) другой сервер, который не загружен сбалансированным (я понимаю, что это означает, что вам нужен доступ ко второму серверу, но хостинг в наши дни дешев) и вы можете установить это легко и дешево).

Это код, который необходимо добавить на страницу клиента:

На другом сервере "someServerIown" вам нужно иметь страницу ASP, ASPX или PHP, которая;

----- содержит код сервера, подобный следующему:

"<% Response.Write ("var clientipaddress = '" & Request.ServerVariables ("REMOTE_ADDR") & "';") %>» (без внешних кавычек dbl: -))

---- и записывает этот код обратно в тег скрипта:

   var clientipaddress = '178.32.21.45';

Это фактически создает переменную Javascript, к которой вы можете обращаться с помощью Javascript на странице не менее.

Надеюсь, вы получите доступ к этой переменной и запишите значение в элемент управления формы, готовый для отправки обратно.

Когда пользователь публикует или получает следующий запрос, ваш Javascript и / или форма отправляет значение переменной, которую вам заполнил «otherServerIown», обратно на сервер, на котором вы хотели бы его видеть.

Вот так я обхожу бездействующий балансировщик нагрузки, который маскирует IP-адрес клиента и делает его похожим на адрес балансировщика нагрузки .... тупой ... тупой тупой тупой!

Я не дал точного решения, потому что ситуация у всех немного другая. Концепция звучит, однако. Кроме того, обратите внимание, что если вы делаете это на странице HTTPS, ваш «otherServerIOwn» также должен доставлять в этой защищенной форме, в противном случае Клиент будет предупрежден о смешанном контенте. И если у вас есть https, убедитесь, что ВСЕ ваши сертификаты действительны, в противном случае клиент также получит предупреждение.

Надеюсь, это кому-нибудь поможет! Извините, потребовался год, чтобы ответить / внести свой вклад. : -)

0 голосов
/ 19 сентября 2008

Для этого потребуется сломать «песочницу» браузера. Попробуйте позволить вашему серверу выполнить поиск и запросить его на стороне клиента через XmlHttp.

0 голосов
/ 19 сентября 2008

Если на клиенте установлена ​​Java, вы можете сделать что-то вроде этого:

ipAddress = java.net.InetAddress.getLocalHost().getHostAddress();

Кроме этого, вам, вероятно, придется использовать скрипт на стороне сервера.

0 голосов
/ 19 сентября 2008

Я не думаю, что это разрешено большинством браузеров по соображениям безопасности, в чистом контексте JavaScript, как задает вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...