プロキシサーバの経由

訪問者のIPアドレスまたはリモートホスト名が、プロバイダから与えられたものか、 プロキシサーバ経由のものかを環境変数を利用して判断する方法があります。 環境変数を利用すれば、一時的にプロキシサーバ経由の利用者をアクセス制限できますので知っておくと便利でしょう。 プロキシサーバ関連の環境変数はたくさんありますが、実際プロキシサーバが常時設定する変数はあまりありません。 プロキシサーバ経由かどうかを判断する場合、以下の3つの変数をチェックすれば大抵のプロキシサーバは判断できます。

・HTTP_VIA
この環境変数は、プロキシサーバの詳細情報になります。 プロキシサーバのソフト名やバージョンなどがわかり、この変数に値が入っている場合はプロキシサーバを経由していると判断できます。

・HTTP_X_FORWARDED_FOR
この環境変数は、プロキシサーバが設定する経由元のIPアドレス(プロバイダから与えられたIPアドレスなど)です。 この変数に値が入っている場合はプロキシサーバを経由していると判断できます。 経由元のIPアドレスは、$ENV{ 'HTTP_CACHE_CONTROL' }で取得できますが、プロキシサーバ側の設定で値をセットしない場合もあります。 その場合は、$ENV{ 'HTTP_CLIENT_IP' }でも経由元のIPアドレスがセットされている場合がありますので、そちらを取得するものいいでしょう。

・HTTP_CACHE_CONTROL
この環境変数は、キャッシュ情報です。 プロキシサーバがどのくらいの時間データを保持しているかの情報なので、この変数に値が入っている場合はプロキシサーバを経由していると判断できます。 ただ、Internet Explorer 5.5も値を入れますので、「max-age=****」となればプロキシサーバ経由、 「max-stale=*」となればInternet Explorerが値をセットしたと判断することができます。

[PR] ナチュラルガーデン | 利尻こんぶシャンプー | ケアマネージャー 試験