溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP如何實(shí)現(xiàn)檢測客戶端是否使用代理服務(wù)器

發(fā)布時(shí)間:2021-06-25 14:54:40 來源:億速云 閱讀:243 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹PHP如何實(shí)現(xiàn)檢測客戶端是否使用代理服務(wù)器,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

要判斷客戶端是否使用代理服務(wù)器,可以從客戶端所發(fā)送的環(huán)境變量信息來判斷。

具體來說,就是看HTTP_VIA字段,如果這個(gè)字段設(shè)置了,說明客戶端使用了代理服務(wù)器。

匿名級(jí)別可以參考下表來判斷。

給出一個(gè)應(yīng)用例子,可以掛上代理試試效果: http://ip.mixsec.org/

一、沒有使用代理服務(wù)器的情況:

     REMOTE_ADDR = 您的 IP
     HTTP_VIA = 沒數(shù)值或不顯示
     HTTP_X_FORWARDED_FOR = 沒數(shù)值或不顯示

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

    REMOTE_ADDR = 代理服務(wù)器 IP
    HTTP_VIA = 代理服務(wù)器 IP (補(bǔ)充:這個(gè)字段由代理服務(wù)器填充,有時(shí)會(huì)填充網(wǎng)關(guān)信息等)
    HTTP_X_FORWARDED_FOR = 您的真實(shí) IP
    這類代理服務(wù)器還是將您的信息轉(zhuǎn)發(fā)給您的訪問對(duì)象,無法達(dá)到隱藏真實(shí)身份的目的。

三、使用普通匿名代理服務(wù)器的情況:Anonymous Proxies

    REMOTE_ADDR = 代理服務(wù)器 IP
    HTTP_VIA = 代理服務(wù)器 IP (補(bǔ)充:這個(gè)字段由代理服務(wù)器填充,有時(shí)會(huì)填充網(wǎng)關(guān)信息等)
    HTTP_X_FORWARDED_FOR = 代理服務(wù)器 IP
    隱藏了您的真實(shí)IP,但是向訪問對(duì)象透露了您是使用代理服務(wù)器訪問他們的。

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

    REMOTE_ADDR = 代理服務(wù)器 IP
    HTTP_VIA = 代理服務(wù)器 IP  (補(bǔ)充:這個(gè)字段由代理服務(wù)器填充,有時(shí)會(huì)填充網(wǎng)關(guān)信息等)
    HTTP_X_FORWARDED_FOR = 隨機(jī)的 IP
    告訴了訪問對(duì)象您使用了代理服務(wù)器,但編造了一個(gè)虛假的隨機(jī)IP代替您的真實(shí)IP欺騙它。

五、使用高匿名代理服務(wù)器的情況:High Anonymity Proxies

   REMOTE_ADDR = 代理服務(wù)器 IP
   HTTP_VIA = 沒數(shù)值或不顯示
   HTTP_X_FORWARDED_FOR = 沒數(shù)值或不顯示
   完全用代理服務(wù)器的信息替代了您的所有信息,就象您就是完全使用那臺(tái)代理服務(wù)器直接訪問對(duì)象。

除此之外,可以通過proxy judges總 結(jié)其他一些可供參考的判定信息,一遍于在實(shí)踐中加以利用。

最后寫一個(gè)php例子,僅供大家參考:

if(!empty($_SERVER['HTTP_VIA']))    //使用了代理
{
    if(!isset($_SERVER['HTTP_X_FORWARDED_FOR']))
    {
        //Anonymous Proxies    普通匿名代理服務(wù)器
        //代理IP地址為 $_SERVER['REMOTE_ADDR']
   }
   else
   {
        //Transparent Proxies 透明代理服務(wù)器
        //代理IP地址為 $_SERVER['REMOTE_ADDR']
        //真實(shí)ip地址為 $_SERVER['HTTP_X_FORWARDED_FOR']
   }
}
else    //沒有代理或者是高匿名代理
{
    //真實(shí)ip地址為 $_SERVER['REMOTE_ADDR']
}

以上是“PHP如何實(shí)現(xiàn)檢測客戶端是否使用代理服務(wù)器”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI