色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

php獲得用戶ip地址的比較不錯(cuò)的方法

REMOTE_ADDR只能獲取訪問(wèn)者本地連接中設(shè)置的IP,如某大學(xué)校園網(wǎng)中自己設(shè)置的10.X.XXX.XXX系列IP,而這個(gè)函數(shù)獲取的是局域網(wǎng)網(wǎng)關(guān)出口的IP地址,如果訪問(wèn)者使用代理服務(wù)器,將不獲取代理服務(wù)器的IP,而是獲取訪問(wèn)者網(wǎng)關(guān)的真實(shí)IP。如果將這個(gè)函數(shù)應(yīng)用到限IP訪問(wèn)的網(wǎng)頁(yè)中,別人即使通過(guò)限IP訪問(wèn)段中的代理服務(wù)器,也不能訪問(wèn)該頁(yè)面。

下面提供一個(gè)函數(shù):
復(fù)制代碼 代碼如下:
<?php

// 定義一個(gè)函數(shù)getIP()
function getIP()
{
global $ip;

if (getenv("HTTP_CLIENT_IP"))
$ip = getenv("HTTP_CLIENT_IP");
else if(getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if(getenv("REMOTE_ADDR"))
$ip = getenv("REMOTE_ADDR");
else
$ip = "Unknow";

return $ip;
}

// 使用方法:
echo getIP();

?>

getenv("REMOTE_ADDR")用來(lái)取得客戶端的 IP 地址,但如果客戶端是使用代理服務(wù)器來(lái)訪問(wèn),那取到的就是代理服務(wù)器的 IP 地址,而不是真正的客戶端 IP 地址。要想透過(guò)代理服務(wù)器取得客戶端的真實(shí) IP 地址,就要使用 getenv("HTTP_X_FORWARDED_FOR") 來(lái)讀取。

但是如果客戶端沒(méi)有通過(guò)代理服務(wù)器來(lái)訪問(wèn),那么用getenv("HTTP_X_FORWARDED_FOR") 取到的值將是空的。
復(fù)制代碼 代碼如下:
else if(getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv("HTTP_X_FORWARDED_FOR");

表示如果getenv("HTTP_X_FORWARDED_FOR") 取到的值存在不為空(即客戶端使用代理服務(wù)器的情況下),則變量$ip等于getenv("HTTP_X_FORWARDED_FOR") 取到的真實(shí)IP值。

如果上面的else if(getenv("HTTP_X_FORWARDED_FOR"))取得的值為空(即沒(méi)有使用代理服務(wù)器),則不會(huì)執(zhí)行下面的$ip = getenv("HTTP_X_FORWARDED_FOR");這一行語(yǔ)句。

這種情況下已經(jīng)確認(rèn)客戶端沒(méi)有使用代理服務(wù)器,從而通過(guò)
復(fù)制代碼 代碼如下:
else if(getenv("REMOTE_ADDR"))
$ip = getenv("REMOTE_ADDR");

這兩行語(yǔ)句獲得客戶端的IP地址也是真實(shí)的IP地址。

php技術(shù)php獲得用戶ip地址的比較不錯(cuò)的方法,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 阳城县| 商水县| 新闻| 威远县| 滁州市| 宜州市| 安达市| 三门峡市| 涡阳县| 正镶白旗| 札达县| 民和| 崇文区| 上犹县| 油尖旺区| 黑河市| 衢州市| 广水市| 突泉县| 抚州市| 长垣县| 平利县| 河池市| 彭山县| 邹平县| 定陶县| 三门县| 莱西市| 安国市| 阿克苏市| 丹凤县| 宁远县| 平罗县| 新安县| 深泽县| 交城县| 荥阳市| 肥城市| 禄丰县| 红原县| 福海县|