[英]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.