原文網址: http://qq398705749.iteye.com/blog/963818
php中HTTP_X_FORWARDED_FOROR 瀏覽用戶的電腦版 TP_X_FORWARDED_FOR:瀏覽目前頁面的使用者電腦的閘道
3.HTTP_CLIENT_IP:客戶端的ip (
此屬性已驗證為偽屬性,實際上並不存在,請不要以訛傳訛)
在PHP 中使用$TE_ADVERPSER "] 來取得客戶端的IP 位址,但如果客戶端是使用代理伺服器來訪問,那麼取到的就是代理伺服器的IP 位址,而不是真正的客戶端IP 位址。若想透過代理伺服器取得客戶端的真實 IP 位址,就要使用 $_SERVER["HTTP_X_FORWARDED_FOR"]
來讀取。 不過要注意的事,並不是每個代理伺服器都能用 $_SERVER["HTTP_X_FORWARDED_FOR"] 來讀取客戶端的真實 IP,有些用此方法讀取到的仍然是代理伺服器的 IP。
還有一點要注意的是:如果客戶端沒有透過代理伺服器來訪問,那麼用$_SERVER["HTTP_X_FORWARDED_FOR"] 取到的值將是空的。
if ($_SERVER['HTTP_X_FORWARDED_FOR'] && preg_match('/^([0-9]{1,3}.){3}[0-9]{1,3}$/',$_SERVER ['HTTP_X_FORWARDED_FOR'])) {
$onlineip = $_SERVER['HTTP_X_FORWARDED_FOR'];
P. /^([0-9]{1, 3}.){3}[0-9]{1,3}$/',$_SERVER['HTTP_CLIENT_IP'])) {
$onlineip = $_SERVER['HTTP_CLIENT . 取得使用者IP位址的三個屬性的差異(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
一、沒有使用代理伺服器的情況:
或不.
HTTP_X_FORWARDED_FOR = 沒數值或不顯示
二、使用透明代理伺服器的情況:Transparent Proxies
REMOTE_ADDR = 最後一個代理伺服器HTTP_X_FORWARDED_FOR = 您的真實IP ,經過多個代理伺服器時,這個值類似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
這類代理伺服器還是將您的資訊轉發給您的存取對象,無法達到隱藏真實身分的目的。
三、使用普通匿名代理伺服器的情況:Anonymous Proxies
REMOTE_ADDR =一個代理伺服器IP
HTTP_VIA = 1FORD值類似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
隱藏了您的真實IP,但是向訪問對象透露了您是使用代理伺服器訪問他們的。
四、使用欺騙性代理伺服器的情況:Distorting Proxies
REMOTE_ADDR = 代理伺服器IP
HTTP_VIA = 代理伺服器IP
HTTP_VIA = 代理伺服器IP 如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
告訴了訪問對象您使用了代理伺服器,但編造了一個虛假的隨機IP代替您的真實IP欺騙它。
五、使用高匿名代理伺服器的情況:High Anonymity Proxies (Elite proxies)
REMOTE_ADDR = 代理伺服器IP
或不顯示,經過多個代理伺服器時,這個值類似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
完全用代理伺服器的資訊取代了您的所有訊息,就像您就是完全使用那台代理伺服器直接存取物件。
以上就介紹了HTTP_X_FORWARDED_FOR 和 REMOTE_ADDR的使用 php,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。