可能重複:
How can a server find real client IP address?顯示本地IP在網頁
我需要讓我的用戶發現非常迅速和輕鬆地將其本地(LAN)的IP。
我們的網絡有一個魷魚代理,所有的用戶坐在它後面(這是一個內部ip檢測問題:我試過的所有php腳本都能夠 - 最好 - 檢測代理的ip而不是客戶端)。
任何一種語言中的LAMP服務器上的工作是受歡迎的...
而且在Windows上一個簡單的EXE文件可以工作作爲「B計劃」,但我無法找到任何工作。
可能重複:
How can a server find real client IP address?顯示本地IP在網頁
我需要讓我的用戶發現非常迅速和輕鬆地將其本地(LAN)的IP。
我們的網絡有一個魷魚代理,所有的用戶坐在它後面(這是一個內部ip檢測問題:我試過的所有php腳本都能夠 - 最好 - 檢測代理的ip而不是客戶端)。
任何一種語言中的LAMP服務器上的工作是受歡迎的...
而且在Windows上一個簡單的EXE文件可以工作作爲「B計劃」,但我無法找到任何工作。
正在關注@German Arlington的回答,我認爲最好的方法是configuring Squid與HTTP請求一起發送X-Forwarded-For
頭:
如果設置爲「ON」,魷魚將在HTTP添加客戶端的IP地址 請求其轉發。默認情況下,它看起來像:
X-Forwarded-For: 192.1.2.3
然後,你將能夠通過apache_request_headers()
<?php
$headers = apache_request_headers();
echo $headers["X-Forwarded-For"];
?>
這個解決方案聽起來很簡單,直接! 我已經改變我的squid參數爲「on」並重新啓動它,並在php頁面中嘗試了你的代碼:可悲的是我得到了代理ip而不是客戶端的:( – Pitto 2012-07-25 14:44:53
這是Squid本身的問題,也許是'header_replace'指令或Apache代理自己,誰知道,你可以嘗試在這裏描述你的網絡拓撲結構,但是你最好再問一個問題,爲了證明這個答案是正確的,你可以嘗試一下全新的Squid安裝。無論如何,檢查日誌 – Raffaele 2012-07-25 15:09:24
我已經嘗試與我們擁有的另一個Squid服務器並且 - 可悲 - 它能正常工作......我們的Apache不是代理服務器,我在squid.conf中找不到任何header_replace :( – Pitto 2012-07-25 18:25:39
考慮在瀏覽器中加載的Java小程序。 由於java使用自己的虛擬環境,它將能夠向客戶端顯示本地IP地址。
很好的方式開始我猜 - >http://reglos.de/myaddress/MyAddress.html
和Java獲取IP:How can i check System IP Address/Host Name in Java?
這樣,你不會有改變當前的環境。否則,它可能會涉及到魷魚重新配置。
從您發佈我可以看到呈現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())
閱讀PHP的ip地址爲什麼不寫一個批處理腳本運行ipconfig /使用ifconfig? – Rhys 2012-07-25 13:57:29
我需要這個以非常簡單的方式向我展示我的普通用戶(完全不是計算機薩維),以便他們可以讀取我的信息,我可以使用vnc或其他任何東西來遠程幫助他們。 當然在電話上說:點擊開始,選擇「執行」,數字「cmd」,然後你有一個大的黑色窗口......它會工作,但它會是一個真正的痛苦:) 只要求他們去我們的內部網站...太好了! – Pitto 2012-07-25 14:03:50