Как получить IP-адрес клиента с помощью Javascript - PullRequest
3 голосов
/ 12 января 2011

Привет Пожалуйста, дайте мне знать, как я могу получить IP-адрес клиента.Я использовал следующее.

Ip = <--#echo var="REMOTE_ADDR"-->;

ip = '<%= Request.UserHostAddress>';

Но они не работают.

Ответы [ 7 ]

4 голосов
/ 28 июля 2011

Используйте следующий код для получения IP-адреса в ASP Classic

<%
Dim UserIPAddress
UserIPAddress = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If UserIPAddress = "" Then
UserIPAddress = Request.ServerVariables("REMOTE_ADDR")
End If
%>
2 голосов
/ 13 января 2011

Попробуйте это:

<script type="text/javascript">
    var ip = "<%=Request.ServerVariables("REMOTE_ADDR")%>";
    alert(ip);
</script>

Предполагая, что это страница .asp, вы должны увидеть предупреждение с вашим IP-адресом.

2 голосов
/ 13 января 2011

Большинство веб-серверов (я полагаю, вы используете IIS) предоставляют эту информацию в REMOTE_ADDR Переменная среды .

Ваши образцы пытаются получить переменные сервера с классическим ASP и включениями на стороне сервера, которые по умолчанию отключены на современных веб-серверах IIS. Вам может потребоваться включить классический ASP или SSI или использовать свойство ServerVariables, используя ASP.NET

1 голос
/ 12 января 2011

Вы не можете сделать это только с помощью JavaScript, мне кажется, что вы пытаетесь использовать серверный код на клиенте, который не работает.

Самым простым, быстрым (и самым уродливым) из этого было бы вывести IP-адрес со стороны s * с ошибочной стороны * в тег сценария на странице, отправляемой пользователю.

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

echo '<script type="text/javascript">var USER_IP = ' + getRemoteAddess() + ';</script>'

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

0 голосов
/ 04 июля 2012

Для записи, если кто-то ищет решение PHP, вы просто сделаете это следующим образом:

<?php echo $_SERVER['REMOTE_ADDR']; ?>

Например, если вы передаваете его в массив JS, оно будет выглядетькак это:

tr._setSomeVar(5, "Remote Address", "<?php echo $_SERVER['REMOTE_ADDR']; ?>", 9);
0 голосов
/ 12 января 2011

Вы не можете получить IP, используя чистый Javascript.Два предоставленных вами решения требуют серверных сценариев.

0 голосов
/ 12 января 2011

попробуй

ip = '<%= Request.UserHostAddress %>';
...