PHPの例共有は、クライアントがプロキシサーバと匿名レベルを使用しているかどうかを判定する。


クライアントがプロキシサーバを使用しているかを判断するには、クライアントから送信された環境変数情報から判断することができます。
具体的にはHTTPを見ます。VIAフィールドは、このフィールドが設定されている場合、クライアントがプロキシサーバを使用していることを示す。
匿名レベルは下表を参照して判断することができる。
アプリケーションの例を示します。エージェントをかけて効果を試してもいいです。http://ip.mixsec.org/
一、プロキシサーバを使用していない場合:     REMOTE_ADDR=あなたのIP     HTTP_VIA=数値がないか、表示しないか     HTTP_X_FOREWARD_FOR=数値がないか、表示しないか
二、透明プロキシを使用する場合:Transparent Proxies
    REMOTE_ADDR=プロキシサーバIP    HTTP_VIA=プロキシIP(補足:このフィールドはプロキシサーバーによって充填され、ゲートウェイ情報などが充填される場合があります。)    HTTP_X_FOREWARD_FOR=あなたの本当のIP    このようなプロキシサーバーはまだあなたの情報をあなたの訪問先に転送しています。本当の識別情報を隠す目的は達成できません。
三、通常の匿名プロキシを使用する場合:Anonymous Proxies    REMOTE_ADDR=プロキシサーバIP    HTTP_VIA=プロキシIP(補足:このフィールドはプロキシサーバーによって充填され、ゲートウェイ情報などが充填される場合があります。)    HTTP_X_FOREWARD_FOR=プロキシIP    実際のIPは隠していますが、プロキシを使って彼らにアクセスしたということを訪問先に伝えました。
四、詐欺的なプロキシを使用する場合:Disttoting Proxies    REMOTE_ADDR=プロキシサーバIP    HTTP_VIA=プロキシIP  (補足:このフィールドはプロキシサーバーによって充填され、ゲートウェイ情報などが充填される場合があります。    HTTP_X_FOREWARD_FOR=ランダムIP    訪問先にプロキシサーバーを使っていると教えましたが、本物のIPの代わりに嘘のランダムIPを作りました。
五、高匿名プロキシを使用する場合:High Anonymity Proxies   REMOTE_ADDR=プロキシサーバIP   HTTP_VIA=数値がないか、表示しないか   HTTP_X_FOREWARD_FOR=数値がないか、表示しないか   完全にプロキシサーバの情報であなたのすべての情報を代替しています。まるであなたがそのプロキシサーバーを使って直接にオブジェクトにアクセスします。
これ以外にも、他の参考になる判定情報をproxy judgesを通じてまとめ、実践しながら利用することができます。
最後にphpの例を書きます。参考にしてください。

if(!empty($_SERVER['HTTP_VIA']))    //
{
    if(!isset($_SERVER['HTTP_X_FORWARDED_FOR']))
    {
        //Anonymous Proxies   
        // IP $_SERVER['REMOTE_ADDR']
   }
   else
   {
        //Transparent Proxies
        // IP $_SERVER['REMOTE_ADDR']
        // ip $_SERVER['HTTP_X_FORWARDED_FOR']
   }
}
else    //
{
    // ip $_SERVER['REMOTE_ADDR']
}