四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

php獲得用戶ip地址的比較不錯的方法

REMOTE_ADDR只能獲取訪問者本地連接中設置的IP,如某大學校園網中自己設置的10.X.XXX.XXX系列IP,而這個函數獲取的是局域網網關出口的IP地址,如果訪問者使用代理服務器,將不獲取代理服務器的IP,而是獲取訪問者網關的真實IP。如果將這個函數應用到限IP訪問的網頁中,別人即使通過限IP訪問段中的代理服務器,也不能訪問該頁面。

下面提供一個函數:
復制代碼 代碼如下:
<?php

// 定義一個函數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")用來取得客戶端的 IP 地址,但如果客戶端是使用代理服務器來訪問,那取到的就是代理服務器的 IP 地址,而不是真正的客戶端 IP 地址。要想透過代理服務器取得客戶端的真實 IP 地址,就要使用 getenv("HTTP_X_FORWARDED_FOR") 來讀取。

但是如果客戶端沒有通過代理服務器來訪問,那么用getenv("HTTP_X_FORWARDED_FOR") 取到的值將是空的。
復制代碼 代碼如下:
else if(getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv("HTTP_X_FORWARDED_FOR");

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

如果上面的else if(getenv("HTTP_X_FORWARDED_FOR"))取得的值為空(即沒有使用代理服務器),則不會執行下面的$ip = getenv("HTTP_X_FORWARDED_FOR");這一行語句。

這種情況下已經確認客戶端沒有使用代理服務器,從而通過
復制代碼 代碼如下:
else if(getenv("REMOTE_ADDR"))
$ip = getenv("REMOTE_ADDR");

這兩行語句獲得客戶端的IP地址也是真實的IP地址。

php技術php獲得用戶ip地址的比較不錯的方法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 甜蜜蜜演员表| 少年的奇幻漂流记| 贴身情人之贴身恋李华月| 杨幂的视频| 10种齿痕图解| 藏身之所| love 电影| 我仍在此 电影| 手机在线观看电影网| 肚兜电影| 教育电视台| 诗经中使用叠词的诗句| 成年人看的小视频| 昵称大全2024最新版| 首映式| 我爱你在线观看| 结婚大作战| 小说改编电视剧| 亚新| 好心人| 好好操视频| 香港之夜在线观看免费观看| 左左木明希| 神经内科出科个人总结| 出轨的女人电影| 妻子的电视剧| 隐形人4| 看美女图片| 威利| 四川影视文艺频道| 豪勇七蛟龙 电影| 劳力士电话客服电话24小时| 《假期》电影| 大海歌词 张雨生| 小矮人的一级毛片| 尹雪喜演的电影| 67pp| 卜算子咏梅拼音| 安达佑实| 梅兰尼·格里菲斯| 二年级第一单元测试卷数学|