我试图让客户端浏览器使用 $_SERVER['REMOTE_ADDR']
该网站的IP地址,但我没有收到客户端 请帮我的确切IP ...感谢如何获取客户端IP地址
回答
$_SERVER['REMOTE_ADDR']
是最好的,你会得到真正的。
存在可以由客户机发送的各种其它标题(HTTP_FORWARDED_FOR
等人) - 见this question为完整的概述 - 但这些可以是由客户端自由地操纵,并且不被视为可靠。
感谢您的帮助.. – user389055 2010-08-10 12:39:41
服务器看到的IP地址是客户端的面向公众的IP地址。如果他们在NAT路由器后面,他们将在他们的网络中有不同的地址。
如果您在客户端计算机上运行ipconfig
(Windows)或ifconfig
(Unix-y系统),您将获得其本地IP地址。如果它位于192.168.x.x或10.x.x.x范围内,则它们位于NAT路由器后面,互联网将看到它们来自不同的地址。
感谢您的帮助.. – user389055 2010-08-10 12:40:10
如果用户在代理后面,您将获得代理的IP。用户IP是那么无论其中一个(你需要同时检查): $ _ SERVER [“HTTP_CLIENT_IP”] $ _ SERVER [“HTTP_X_FORWARDED_FOR”]
如果其中的任何设置,然后用户在代理之后(除非他伪造这些头文件),你应该使用它们作为源IP。 否则使用$ _SERVER ['REMOTE_ADDR']。
感谢您的帮助.. – user389055 2010-08-10 12:38:40
//获取真正的客户端IP
function getIP() {
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) {
$ip = getenv("HTTP_CLIENT_IP");
} else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) {
$ip = getenv("HTTP_X_FORWARDED_FOR");
} else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) {
$ip = getenv("REMOTE_ADDR");
} else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) {
$ip = $_SERVER['REMOTE_ADDR'];
} else {
$ip = "unknown";
}
return($ip);
}
- 1. 如何获取客户端IP地址
- 2. 如何在php中获取客户端ip地址和端口?
- 3. 如何获取客户端/用户的IP地址?
- 4. ServerSocket +客户端套接字 - 如何获取客户端的IP地址?
- 5. Azure客户端IP地址
- 6. 客户端ip地址
- 7. 如何在ASP.NET MVC中获取客户端的IP地址?
- 8. 如何使用libssh获取客户端ip地址
- 9. 如何在R Plumber中获取客户端IP地址
- 10. 如何在Grails控制器中获取客户端IP地址?
- 11. 如何使用Oracle APEX获取远程客户端IP地址?
- 12. jetty 8 - websockets:如何获取客户端IP地址?
- 13. 如何使用TcpClient获取客户端IP地址?
- 14. 如何在.net中获取客户端IP地址?
- 15. 如何获取Glassfish中远程EJB客户端的IP地址?
- 16. 如何获取Play中客户端的IP地址!框架2.0?
- 17. 如何获取客户端的公网IP地址
- 18. 如何从SQL Server 2008本身获取客户端IP地址?
- 19. 如何获取客户端IP地址aws elb?
- 20. 如何使用socket.io获取客户端IP地址?
- 21. 获取C端口客户端的IP地址
- 22. 获取客户端IP地址:端口(System.Runtime.Remoting.Channels)
- 23. 获取客户端IP地址和端口?
- 24. WCF:在客户端,获取端点IP地址
- 25. PHP |从客户端用户获取私有IP地址?
- 26. 获取客户端屏幕的用户IP地址
- 27. 在Sinatra获取客户的IP地址?
- 28. 可靠地获取Web客户端IP
- 29. 如何获取后端的IP地址?
- 30. 如何使用IOCP获取客户端的真实IP地址和端口?
其实这是做它的方式。 “不是确切的IP”是什么意思? – JochenJung 2010-08-10 11:45:07
你从REMOTE_ADDR得到什么? – fabrik 2010-08-10 11:45:54
我suspsect你从路由器得到的外部IP地址 - 而不是你期望的机器查看该网站的内部IP地址 – Alex 2010-08-10 11:46:22