可能重复: 服务器如何找到真正的客户端IP地址?
我需要让我的用户非常迅速和容易地找到他们的本地(LAN) ip。
我们的网络有一个squid代理,所以所有用户都坐在它后面(这是内部ip检测的一个问题:我尝试过的所有php脚本都能够--顶多--可以检测代理的ip,而不是客户端的ip)。
任何在灯服务器上工作的语言都是受欢迎的.
另外,Windows上一个简单的EXE文件可以作为“计划b”工作,但我找不到任何工作。
发布于 2012-07-25 14:27:02
下面是@ 配置Squid的回答,我认为您最好的选择是配置Squid发送X-Forwarded-For头以及HTTP请求:
如果设置为"on",Squid将在HTTP请求中将客户端的IP地址转发。默认情况下,它看起来如下: 转发日期: 192.1.2.3
然后您将能够通过标头()读取PHP中的ip地址。
<?php
$headers = apache_request_headers();
echo $headers["X-Forwarded-For"];
?>发布于 2012-07-25 14:03:42
考虑一下在浏览器中加载的java applet。因为java使用自己的虚拟环境,所以它将能够向客户端显示本地Ip地址。
我猜-> http://reglos.de/myaddress/MyAddress.html是个好的开始
并使Java获得IP:如何在Java中检查系统IP地址/主机名?
这样你就不必改变当前的环境了。否则,可能会涉及鱿鱼的重新配置。
从您发布的评论中,我可以看到,向客户端展示IP的目的是让它们读给您,并允许您远程连接。您还提到在客户端运行应用程序是一种选择。这立即把我推向了BGInfo http://technet.microsoft.com/en-us/sysinternals/bb897557.aspx --尤其是如果客户端操作系统是Windows的话。
放在页面上的简单Java aplet:
function myIP(){ var vi="uses java to get the users local ip number"
var yip2=java.net.InetAddress.getLocalHost();
var yip=yip2.getHostAddress();
return yip;
}//end myIP
alert("your machine's local network IP is "+ myIP())发布于 2012-07-25 14:04:13
你可能对
http://roshanbh.com.np/2007/12/getting-real-ip-address-in-php.html
通常,在http标头中,应该包含您要查找的信息。
https://stackoverflow.com/questions/11651325
复制相似问题