成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深入分析幾種PHP獲取客戶端IP的情況

開發(fā) 后端
PHP獲取客戶端IP的情況分為:沒有使用代理服務(wù)器的情況、使用透明代理服務(wù)器的情況、使用普通匿名代理服務(wù)器的情況、使用欺騙性代理服務(wù)器的情況、使用高匿名代理服務(wù)器的情況。

在這篇文章中,我們將會(huì)為大家詳細(xì)介紹PHP獲取客戶端IP的幾種情況分析。我們?cè)谑褂肞HP獲取的IP可能是客戶端真實(shí)的IP,也可能是代理服務(wù)器的IP,也有可能根本取不到任何IP值。#t#

在PHP獲取客戶端IP中常使用 $_SERVER["REMOTE_ADDR"] 。但如果客戶端是使用代理服務(wù)器來(lái)訪問,那取到的是代理服務(wù)器的 IP 地址,而不是真正的客戶端 IP 地址。要想透過代理服務(wù)器取得客戶端的真實(shí) IP 地址,就要使用 $_SERVER["HTTP_X_FORWARDED_FOR"] 來(lái)讀取。

但只有客戶端使用“透明代理”的情況下,$_SERVER["HTTP_X_FORWARDED_FOR"] 的值才是客戶端真正的IP(如果是多層代理,該值可能是由客戶端真正IP和多個(gè)代理服務(wù)器的IP組成,由逗號(hào)“,”分隔),而在“匿名代理”、“欺騙性代理”的情況下是代理服務(wù)器的IP值(如果是多層代理,該值可能由多個(gè)代理服務(wù)器的IP組成,由逗號(hào)“,”分隔),在“高匿名代理”的情況下是空值。

關(guān)于HTTP頭信息中的REMOTE_ADDR、HTTP_FORWARDED_FOR值,我們?cè)谙挛闹杏性敿?xì)的介紹,假設(shè)客戶端真實(shí)IP是221.5.252.160:

 

一、沒有使用代理服務(wù)器的PHP獲取客戶端IP情況:

REMOTE_ADDR = 客戶端IP
HTTP_X_FORWARDED_FOR = 沒數(shù)值或不顯示

二、使用透明代理服務(wù)器的情況:Transparent Proxies

REMOTE_ADDR = ***一個(gè)代理服務(wù)器 IP
HTTP_X_FORWARDED_FOR = 客戶端真實(shí) IP (經(jīng)過多個(gè)代理服務(wù)器時(shí),這個(gè)值類似:221.5.252.160, 203.98.182.163, 203.129.72.215)
這類代理服務(wù)器還是將客戶端真實(shí)的IP發(fā)送給了訪問對(duì)象,無(wú)法達(dá)到隱藏真實(shí)身份的目的。

三、使用普通匿名代理服務(wù)器的PHP獲取客戶端IP情況:Anonymous Proxies

REMOTE_ADDR = ***一個(gè)代理服務(wù)器 IP
HTTP_X_FORWARDED_FOR = 代理服務(wù)器 IP (經(jīng)過多個(gè)代理服務(wù)器時(shí),這個(gè)值類似:203.98.182.163, 203.98.182.163, 203.129.72.215)
這種情況下隱藏了客戶端的真實(shí)IP,但是向訪問對(duì)象透露了客戶端是使用代理服務(wù)器訪問它們的。

四、使用欺騙性代理服務(wù)器的情況:Distorting Proxies

REMOTE_ADDR = 代理服務(wù)器 IP
HTTP_X_FORWARDED_FOR = 隨機(jī)的 IP(經(jīng)過多個(gè)代理服務(wù)器時(shí),這個(gè)值類似:220.4.251.159, 203.98.182.163, 203.129.72.215)
這種情況下同樣透露了客戶端是使用了代理服務(wù)器,但編造了一個(gè)虛假的隨機(jī)IP(220.4.251.159)代替客戶端的真實(shí)IP來(lái)欺騙它。

五、使用高匿名代理服務(wù)器的PHP獲取客戶端IP情況:High Anonymity Proxies (Elite proxies)

REMOTE_ADDR = 代理服務(wù)器 IP
HTTP_X_FORWARDED_FOR = 沒數(shù)值或不顯示

無(wú)論是REMOTE_ADDR還是HTTP_FORWARDED_FOR,這些頭消息未必能夠取得到,因?yàn)椴煌臑g覽器不同的網(wǎng)絡(luò)設(shè)備可能發(fā)送不同的IP頭消息。因此PHP使用$_SERVER["REMOTE_ADDR"] 、$_SERVER["HTTP_X_FORWARDED_FOR"] 獲取的值可能是空值也可能是“unknown”值。

因此,使用PHP獲取客戶端IP的代碼可以如下:

  1. function getip() {  
  2. $unknown = 'unknown';  
  3. if ( isset($_SERVER['HTTP_X_FORWARDED_FOR']) 
    && $_SERVER['HTTP_X_FORWARDED_FOR'] 
    && strcasecmp($_SERVER['HTTP_X_FORWARDED_FOR'], 
    $unknown) ) {  
  4. $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];  
  5. } elseif ( isset($_SERVER['REMOTE_ADDR']) 
    && $_SERVER['REMOTE_ADDR'] && 
    strcasecmp($_SERVER['REMOTE_ADDR'], $unknown) ) {  
  6. $ip = $_SERVER['REMOTE_ADDR'];  
  7. }  
  8. /*  
  9. 處理多層代理的情況  
  10. 或者使用正則方式:$ip = preg_match("/[\d\.]
    {7,15}/", $ip, $matches) ? $matches[0] : $unknown;  
  11. */  
  12. if (false !== strpos($ip, ','))  
  13. $ip = reset(explode(',', $ip));  
  14.  return $ip;  


PHP獲取客戶端IP時(shí)另外一點(diǎn)需注意,使用函數(shù)getenv(’HTTP_X_FORWARDED_FOR’)或getenv(’REMOTE_ADDR’) 也可以如上代碼一樣取得同樣的效果。但getenv()不支持在IIS的isapi方式下運(yùn)行的PHP。

責(zé)任編輯:曹凱 來(lái)源: longlinfeng.com
相關(guān)推薦

2023-11-15 13:50:07

服務(wù)端IP

2019-10-29 05:34:34

IPJava服務(wù)器

2010-02-22 11:10:17

WCF獲取客戶端IP

2009-12-21 15:53:56

WCF獲取客戶端IP

2010-12-21 11:03:15

獲取客戶端證書

2010-02-24 16:17:09

WCF獲取客戶端IP

2018-12-19 10:31:32

客戶端IP服務(wù)器

2024-05-06 08:00:00

C#IP地址

2010-09-07 14:21:22

PPPoE協(xié)議

2022-04-12 08:30:45

TomcatWeb 應(yīng)用Servlet

2011-03-23 11:01:55

LAMP 架構(gòu)

2009-12-08 18:02:06

PHP final關(guān)鍵

2011-11-30 15:43:40

JavaJSP

2009-12-08 16:47:06

WCF IP

2010-08-31 16:29:40

DHCP客戶端

2011-08-25 13:42:57

IP隧道IPIPGRE

2020-12-07 06:23:48

Java內(nèi)存

2014-10-30 15:08:21

快速排序編程算法

2009-11-25 13:21:30

PHP作為memcac

2023-02-01 08:13:30

Redis內(nèi)存碎片
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品99久久久久久www | 九九久久这里只有精品 | 欧美精品在线视频 | 成人性生交a做片 | 欧美视频在线观看 | 午夜www| 一级毛片在线播放 | 亚洲欧美日韩在线 | 美女张开腿露出尿口 | 成人av一区| 麻豆va| 欧美一区免费 | 一区二区三区久久久 | 伊人网影院 | 国产精品a久久久久 | 91网站在线看 | 欧美精品在欧美一区二区少妇 | 91婷婷韩国欧美一区二区 | 日韩精品一区二区三区中文在线 | 免费在线观看一级毛片 | 米奇7777狠狠狠狠视频 | 欧美电影免费网站 | 精品久久久久久亚洲精品 | 国产精品色婷婷久久58 | 国产高清免费 | 成人三区 | 欧美日韩中文字幕在线 | yiren22综合网成人 | 中文字幕一区二区三区不卡 | 久久aⅴ乱码一区二区三区 亚洲欧美综合精品另类天天更新 | 91社区在线观看播放 | 亚洲欧美日本在线 | 天天干 夜夜操 | 91在线免费视频 | 亚洲二区在线观看 | 999热精品视频 | 精品久久一区二区三区 | 中文字幕 在线观看 | 羞羞视频网站 | 日韩av电影院 | 亚洲精品无 |