2016-03-21 1 views
2

Как я могу прочитать IP-адрес компьютера клиента из браузера? Специально мне нужно сделать это для Internet Explorer, поскольку мы запускаем наше приложение для интрасети. Я могу получить имя машины, используя код ниже -Как читать адрес клиента IPv4 у клиента?

var network = new ActiveXObject('WScript.Network'); 
console.log(network.computerName); 

Любое решение/идея очень ценится. Я в порядке с помощью апплета/любого кода на стороне сервера. Благодарю.

ответ

1

Любой онлайн сервис может использоваться, например, как это freegeoip.net:

$.ajax({ 
 
    url: '//freegeoip.net/json/', 
 
    datatype: 'json', 
 
    method: 'get', 
 
    success: function(data) { 
 
    $('pre').html("IP Addr::::" + data.ip); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<pre></pre>

+0

Спасибо! Я думаю, что я уже попробовал это, что фактически дает сервер/сетевой прокси IP, а не IP-адрес клиентской системы. И еще одно: эти бесплатные URL-адреса блокируются внутри организации из-за соображений безопасности. –

+0

@KrishSmith Затем вы можете обслуживать IP-адрес в своем скрипте, который вы ссылаетесь на объект. – Jai

0

я не знаю, если вы могли бы сделать это с помощью ActiveXObject, но если вы можете включить на стороне сервера? с PHP вы можете достичь его с помощью

$ip=$_SERVER['REMOTE_ADDR']; 

или Java/JSP с использованием

<%=request.getRemoteAddr()%> 
+0

<% = request.getRemoteAddr()%> Используя это, мы получаем IP-адрес сервера или сетевой прокси, за которыми сидит реальная клиентская система. –

+0

вы получаете ip удаленного клиента, подключающегося к вашему серверу – Awnen

1

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

request.getHeader("X-FORWARDED-FOR")

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

request.getRemoteAddr(); 

должен работать нормально SO окончательно суммируя весь код должен быть

String ipAddress = request.getHeader("X-FORWARDED-FOR"); 
if(ipAddress == null) 
{ 
    ipAddress = request.getRemoteAddr(); 
} 
System.out.println("ipAddress:"+ipAddress); 

Вы должны оформить эти ссылки jsp get ip address http://www.coderanch.com/t/293684/JSP/java/client-IP-address-Domain-Java