我試圖讓客戶端瀏覽器使用 $_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. 如何在客戶端自動獲取客戶端的IP地址c
- 5. ServerSocket +客戶端套接字 - 如何獲取客戶端的IP地址?
- 6. 始終從Servlet獲取客戶端IP地址:: 1的地址
- 7. WebClient客戶端IP地址
- 8. Azure客戶端IP地址
- 9. 客戶端ip地址
- 10. 如何獲取ring-clojure中的客戶端IP地址?
- 11. 如何獲取blazeDS客戶端的ip地址
- 12. 如何在客戶端使用IP地址獲取GMT時間?
- 13. 如何在socket.io中獲取客戶端IP地址
- 14. 如何使用socket.io獲取客戶端IP地址?
- 15. 如何獲取Glassfish中遠程EJB客戶端的IP地址?
- 16. 如何在Grails控制器中獲取客戶端IP地址?
- 17. 如何使用jQuery獲取客戶端IP地址
- 18. 如何使用TcpClient獲取客戶端IP地址?
- 19. 如何獲取Node.js中連接客戶端的IP地址?
- 20. Ruby on Rails:如何獲取客戶端IP地址
- 21. WICKET:如何獲取客戶端的IP /地址
- 22. 如何在.net中獲取客戶端IP地址?
- 23. 如何使用Oracle APEX獲取遠程客戶端IP地址?
- 24. 如何在R Plumber中獲取客戶端IP地址
- 25. jetty 8 - websockets:如何獲取客戶端IP地址?
- 26. 如何獲取客戶端的公網IP地址
- 27. 如何使用libssh獲取客戶端ip地址
- 28. 如何獲取Play中客戶端的IP地址!框架2.0?
- 29. 如何從客戶端機器獲取IP地址?
- 30. 如何從SQL Server數據庫獲取客戶端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