繁体   English   中英

如何使用Javascript获取客户端的IP地址

[英]How to get the IP address of Client Using Javascript

嗨请让我知道如何获取客户端IP地址。 我使用了以下内容。

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

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

但这些都行不通。

使用以下代码获取ASP Classic中的IP地址

<%
Dim UserIPAddress
UserIPAddress = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If UserIPAddress = "" Then
UserIPAddress = Request.ServerVariables("REMOTE_ADDR")
End If
%>

大多数Web服务器(我假设您使用的是IIS)在REMOTE_ADDR 环境变量中提供此信息。

您的示例正在尝试使用Classic ASP和Server Side Includes获取服务器的变量,这两个变量在现代IIS Web服务器上都默认关闭。 您可能需要启用经典ASP或SSI ,或使用ASP.NET使用ServerVariables属性

尝试这个:

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

假设这是.asp页面,你应该看到你的IP地址提醒。

你不能单独使用JavaScript,它看起来像你试图在客户端使用服务器端代码,这是行不通的。

执行此操作的最简单,最快速(也是最丑陋的)是将s * erver端 *上的IP输出到发送给用户的页面上的脚本标记中。

不知道你在服务器端使用哪种语言,所以我会提供一些伪代码。

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

这将引入一个名为全局变量USER_IP到页面中,请确保使用此变量的代码来自上面的脚本标记之后

有关任何人正在寻找PHP解决方案的记录,你只需这样做:

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

例如,如果您在JS数组中传递它,它将如下所示:

tr._setSomeVar(5, "Remote Address", "<?php echo $_SERVER['REMOTE_ADDR']; ?>", 9);

尝试

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

您无法使用纯Javascript获取IP。 您提供的两个解决方案需要服务器端脚本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM