環境変数で調べたいことは、経由元のIPアドレスが取得できるのかどうかということと、 プロキシサーバを経由しているのかどうかです。 経由元のIPアドレスが隠蔽されているように見えても取得できる場合もありますし、 プロキシサーバ経由の人を一時的にアクセス制限して攻撃から守る方法があります。 以下に紹介するものは、プロキシサーバ関連の環境変数です。
・HTTP_CACHE_CONTROL
プロキシサーバへキャッシュをする最長時間などの指示情報が設定されます。
Internet Explorerも「max-stale=0」と設定します。
書式例:max-age=キャッシュ時間(秒)、例:max-age=259200
・HTTP_CACHE_INFO
プロキシサーバのキャッシュ情報が設定されます。
・HTTP_CLIENT_IP
接続元のIPアドレス(10進数、16進数)が設定されます。
・HTTP_CLIENTIP
接続元のIPアドレスが設定されます。
・HTTP_CONNECTION
ブラウザがプロキシサーバへ送る指示情報が設定されます。
ブラウザで「プロクシーサーバを使う」に設定するとブラウザが設定します。
例1:Keep-Alive、例2:Keep-Alive, TE、例3:close
・HTTP_EXTENSION
CompuserveのRPAへの対応を示す拡張ヘッダです。
例:Security/Remote-Passphrase
・HTTP_FORWARDED
プロキシサーバを通すという意味で、byの後にプロキシサーバのURLやポート番号、ソフト名、 バージョン情報が設定されます。
forの後に接続元のIPアドレスが表示される場合もあります。
書式例:by プロキシサーバのURL:ポート番号 (ソフト名/バージョン)、例:by http://proxy.abc-net.ne.jp:80 (Netscape-Proxy/3.5)
・HTTP_FROM
ブラウザに読みこまれているメールアドレスの情報。
(今では使用されていません) 接続元のIPアドレスやプロキシサーバ情報が設定される場合もあります。
例:by http://http.abc-net.ne.jp:80 (Netscape-Proxy/3.5)
・HTTP_IF_MODIFIED_SINCE
接続元がプロキシサーバに接続した時間の情報が設定されます。
例:Sat, 05 May 2001 20:54:52 GMT
・HTTP_MAX_FORWARDS
経由できるプロキシサーバの最大数です。
・HTTP_NAGOTIATE
・HTTP_PRAGMA
ブラウザがプロキシサーバへ送る指示情報が設定されます。
プロクシサーバのキャッシュを利用しないということです。
リロードしたりすると設定されます。
接続元のIPアドレスが設定される場合もあります。
例:no-cache
・HTTP_PROXY_AUTHORIZATION
プロキシー許可ヘッダー情報
・HTTP_PROXY_CONNECTION
ブラウザがプロキシサーバへ送る指示情報が設定されます。
ブラウザで「プロクシーサーバを使う」に設定するとブラウザが設定します。
HTTP_CONNECTIONと同じです。
例:Keep-Alive
・HTTP_REMOTE_HOST
接続元のIPアドレスが設定されます。
・HTTP_SP_HOST
プロキシサーバへ接続した接続元のクライアントIPアドレスが設定されます。
ここに情報が設定される場合があります。
・HTTP_TE
プロキシサーバがサポートするエンコードタイプ(Transfer-Encodings)です。
例:chunked
・HTTP_VIA
プロキシサーバを経由という意味で、プロキシサーバのHTTPのバージョンやドメイン名、ポート番号、 ソフト名、バージョン情報が設定されます。
forの後に接続元のIPアドレスが表示されることもあります。
書式例:HTTPバージョン プロキシサーバのドメイン名:ポート番号 (ソフト名/バージョン)
例1:1.0 proxy.abc-net.ne.jp:80 (Squid/2.4.STABLE1)
例2:1.1 - (DeleGate/7.1.2)
・HTTP_X_DELEGATE_REMOTE_HOST
Delgateプロキシサーバの先のリモートホスト。
・HTTP_X_FORWARDED_FOR
プロキシサーバへ接続した接続元のクライアントIPアドレスが設定されます。
・HTTP_X_LOCKING
接続元のIPアドレスや参照先URLが設定されます。
・HTTP_XONNECTION
ブラウザがプロキシサーバへ送る指示情報が設定されます。 ブラウザで「プロクシーサーバを使わない」に設定するとブラウザが設定します。
例:Keep-Alive
・HTTP_XROXY_CONNECTION
プロキシサーバとWebサーバ間の接続指定をするための情報です。