Hari Chandra Prasad Ravuri Ответов: 4

Как получить Ip-адрес клиента и имя клиентской машины с помощью javascript


Всем Привет,

Кто-нибудь может мне помочь ,

как получить Ip-адрес клиента и машину с помощью javascript, Jquery или любого другого .Я так много гуглил, но не получил правильных результатов.

Я написал код на стороне сервера, но он дает информацию о моем сервере( запрос.UserHostAddress &Dns. hostEntry).

помоги мне, пожалуйста .

Hemant Singh Rautela

Запрос.Свойство UserHostAddress возвращает IP-адрес удаленного пользователя, я также использовал его и он работает нормально....
Проверьте свой код еще раз.....
http://msdn.microsoft.com/en-us/library/system.web.httprequest.userhostaddress.aspx

F-ES Sitecore

Вы не можете получить IP-адрес клиента из кода сервера или javascript. То, что вы можете получить из кода вашего сервера, - это IP-адрес машины, которая сделала запрос на вашу страницу, и это может быть или не быть фактическим клиентом. Если клиент использует прокси-сервер, то вы получите его адрес, а если этот прокси-сервер является самим вашим сервером, то запросы будут поступать с этого IP-адреса.

Запрос.UserHostAddress - это ваш лучший выбор, и если он не дает вам того, что вы хотите, то вы ничего не можете с этим поделать, просто так работает интернет. Google "get client ip asp.net - и вы увидите, что это обсуждалось уже бесчисленное количество раз.

jaket-cp

более 2 лет :)

4 Ответов

Рейтинг:
36

KM Perumal

<script type="text/javascript">
    window.onload = function () {
        var script = document.createElement("script");
        script.type = "text/javascript";
        script.src = "http://jsonip.appspot.com/?callback=DisplayIP";
        document.getElementsByTagName("head")[0].appendChild(script);
    };
    function DisplayIP(response) {
        document.getElementById("ipaddress").innerHTML = "Your IP Address is " + response.ip;
    }
</script>
</script>


Hari Chandra Prasad Ravuri

Спасибо перумаль я тоже пробовал это сделать но не обеспечил себе необходимого результата

KM Perumal

что у вас делали

Hari Chandra Prasad Ravuri

< script type= "text/javascript">
ВАР IP-адрес="";
window. onload = функция () {
var script = document.createElement ("скрипт");
script. type = " text/javascript";
script.src = "http://jsonip.appspot.com/?callback=DisplayIP";
document. getElementsByTagName ("head") [0]. appendChild(скрипт);
};
функция DisplayIP(отклик) {
IP адрес=ответ.ИС;
}
< / script>

я использовал этот скрипт, но не получил необходимого вывода

KM Perumal

Хари метод этот IP-адрес-это идентификатор метки, если УР создать ярлык, как IP-адрес и будете получать IP-адрес
функция DisplayIP(отклик) {
document.getElementById ("ipaddress"). innerHTML = "ваш IP-адрес" + response. ip;
}

SHARIQ_KHAN

можем ли мы получить имя клиентской машины с помощью этого...?

Member 10230348

как хранить ip адрес в базе данных с помощью jquery можете ли вы объяснить мне что я новичок в jquery

Рейтинг:
1

prashant patil 4987

попробовать это.

Надеюсь, это будет полезно для вас.

string ip = Request.UserHostAddress;
string hostname = Request.UserHostName;


Hari Chandra Prasad Ravuri

Привет
Этот код дает мой Ip-адрес сервера и имя машины

Рейтинг:
1

Robert Snyder

Один из вариантов использования, в котором вы можете объединить решение JavaScript, предлагаемое KM Perumal, и дневное предложение ведения журнала веб-сервера, заключается в том, чтобы обратиться к случаю, когда вы используете балансировку нагрузки уровня 7 HTTPS-трафика в качестве зашифрованного IP-трафика (не используя балансировщик нагрузки для разгрузки расшифровки HTTPS) на один или несколько внутренних веб-серверов.

В этом случае функция регистрации IP-адресов веб-сервера будет записывать IP-адрес балансировщика нагрузки.

Если ваш балансировщик нагрузки не расшифрует HTTPS-трафик, он не сможет вставить источник (клиент) IP-адрес вводится в заголовок (например, через X-Forwarded-For) для передачи на серверные веб-серверы для записи вместе с удаленным адресом.

В этом очень специфическом, но не редком случае хостинга:

1. Использовать JavaScript, чтобы определить удаленным (клиент) ИС

2. Вставьте это значение в HTTP-заголовке или в форме-представляет значение, возвращаемое веб-сервером

3. Настроить http - "удаленный пользователь" стоимости через аутентификации/авторизации (по желанию)

Значение IP-адреса выдержит балансировку нагрузки HTTPS-потока и будет записано в журналы веб-сервера, поскольку это значение вставляется в заголовок HTTP-ответа (например, "%{VARNAME}^to") до того, как браузер удаленного пользователя зашифрует HTTPS-поток.

Значение удаленного IP-адреса веб-сервера (например, Apache Module mod_log_config "%a") по-прежнему будет показывать IP-адрес балансировщика нагрузки, но вы можете использовать заголовок для значения, заданного вашим javascript.

Шаг третий полезен, когда удаленный пользователь находится за NAT-сетью, как следует из приведенного выше кода, будет предоставлять публичный адрес NAT-маршрутизатора. Без зарегистрированного имени пользователя IP-адрес, собранный на шаге 1 и возвращенный на Шаге 2, может представлять собой несколько сеансов пользователя/браузера.

В Apache mod_log-config значение HTTP-заголовка " удаленный пользователь "может быть записано в журналы, если задано значение" %u".

Делая это, вы можете лучше узнать как местоположение, так и личность пользователей.


Рейтинг:
0

Prasad Khandekar

Привет,

Прямой поддержки получения ip-адреса машины из JavaScript нет. Но немного серверного кода и AJAX вы должны быть в состоянии получить Ip-адрес. Так что напиши Атрибутом webmethod который будет извлекать IP-адрес из объекта запроса и возвращать его вызывающему. Для AJAX вы можете использовать очень отличные В jQuery библиотека.

С уважением,


Hari Chandra Prasad Ravuri

Дорогой Прасад,
Спасибо за ваше решение я попробую УР решение