環境変数確認・チェッカー Environment Variable Checker
ブラウザでアクセスするだけで環境変数(CGI/PHP)を一覧確認できるチェッカーツール。IPアドレス、UserAgent(OS/Windows/Mac/Linux判定)、画面解像度、プロキシ使用の有無などを即座に解析・表示します。JSON/CSV保存にも対応。Web開発やデバッグ、設定確認に便利です。
あなたのアクセス情報
・X-Forwarded-For ヘッダーを検出
・X-Real-IP ヘッダーを検出
| 環境変数 | 変数の値 | 操作 |
|---|---|---|
|
HTTP_HOST ?
ブラウザが指定したアクセス先ドメイン(Hostヘッダ)。同じサーバでも複数ドメインを扱う(バーチャルホスト)ときの判別に使われます。SERVER_NAMEとは一致しない場合があります。
|
luft.co.jp | |
|
HTTP_USER_AGENT ?
ユーザーエージェント。OS/ブラウザなどの情報を含む文字列です(このツールでは簡易解析してバッジ表示)。※偽装も可能です。
|
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
不明
不明
|
|
|
HTTP_ACCEPT ?
受け取り可能なデータ形式(MIMEタイプ)の希望。例:text/html, image/*, */*。q=(優先度)で重み付けされることがあります。
|
*/* | |
|
HTTP_ACCEPT_LANGUAGE ?
言語の希望。例:ja-JP, en-US など。q=(優先度)付きの場合があり、このツールでは「言語コード(q値)」をバッジで分解表示します。
|
(値なし) | |
|
HTTP_ACCEPT_ENCODING ?
圧縮方式の希望。例:br(Brotli), gzip。サーバが対応していればレスポンスを圧縮して送れる可能性があります(このツールでは方式をバッジ表示)。
|
(値なし) | |
|
HTTP_ACCEPT_CHARSET ?
文字コード(charset)の希望。例:utf-8。近年のブラウザでは省略されることも多い項目です。* は「任意」を意味します。
|
(値なし) | |
|
HTTP_KEEP_ALIVE ?
Keep-Alive接続のパラメータ(timeout、max など)。※常に送られるとは限らず、環境によって空になることがあります。
|
(値なし) | |
|
HTTP_CONNECTION ?
接続オプション。keep-alive(接続を維持)や close(通信後に切断)、Upgrade などが入る場合があります。
|
close | |
|
SERVER_NAME ?
サーバ側で設定されているホスト名(仮想ホスト名など)。HTTP_HOST(ブラウザが指定したドメイン)とは別物として扱うのが安全です。
|
luft.co.jp | |
|
SERVER_ADDR ?
リクエストを処理しているサーバのIPアドレス。ロードバランサー配下では内部IPになることがあります。
|
162.43.101.152 | |
|
SERVER_PORT ?
リクエストを受け付けたポート番号。通常は 80(HTTP)/ 443(HTTPS)ですが、環境により変わります。
|
443 | |
|
REMOTE_HOST ?
REMOTE_ADDR の逆引きホスト名(DNS逆引き)。取得できないことも多く、環境によっては遅くなるため参考情報として扱うのが安全です。
|
216.73.216.80 | |
|
REMOTE_ADDR ?
サーバから見た接続元IPアドレス。プロキシ/CDN/ロードバランサー経由の場合、「実ユーザー」ではなく中継のIPになることがあります。
|
216.73.216.80 | |
|
REMOTE_PORT ?
クライアント側(接続元)が使用したポート番号。通常は一時ポート(エフェメラルポート)です。
|
51170 | |
|
GATEWAY_INTERFACE ?
CGIインターフェースのバージョン(例:CGI/1.1)。PHP-FPM等の構成でも値が入る場合があります。
|
CGI/1.1 | |
|
SERVER_PROTOCOL ?
リクエスト時のプロトコル名とバージョン(例:HTTP/1.1、HTTP/2)。
|
HTTP/1.1 | |
|
REQUEST_METHOD ?
HTTPメソッド。GET/POST/HEAD/PUT など。フォーム送信やAPIアクセスの確認に使います。
|
GET | |
|
QUERY_STRING ?
URLの「?」以降(クエリ文字列)。例:a=1&b=2。パラメータ付きアクセスの確認に使います。
|
(値なし) | |
|
REQUEST_URI ?
アクセスされたURI(パス + クエリ)。例:/path/to/page?a=1。ルーティングやアクセス先確認に便利です。
|
/cgi/env.php | |
|
SCRIPT_NAME ?
実行中スクリプトのパス(ドキュメントルートからの相対パス)。例:/env.php。
|
/cgi/env.php |
画面・ブラウザ情報(JavaScript取得)
用語解説
- ■HTTP_HOST
- ブラウザが指定したアクセス先ドメイン(Hostヘッダ)。同じサーバでも複数ドメインを扱う(バーチャルホスト)ときの判別に使われます。SERVER_NAMEとは一致しない場合があります。
- ■HTTP_USER_AGENT
- ユーザーエージェント。OS/ブラウザなどの情報を含む文字列です(このツールでは簡易解析してバッジ表示)。※偽装も可能です。
- ■HTTP_ACCEPT
- 受け取り可能なデータ形式(MIMEタイプ)の希望。例:text/html, image/*, */*。q=(優先度)で重み付けされることがあります。
- ■HTTP_ACCEPT_LANGUAGE
- 言語の希望。例:ja-JP, en-US など。q=(優先度)付きの場合があり、このツールでは「言語コード(q値)」をバッジで分解表示します。
- ■HTTP_ACCEPT_ENCODING
- 圧縮方式の希望。例:br(Brotli), gzip。サーバが対応していればレスポンスを圧縮して送れる可能性があります(このツールでは方式をバッジ表示)。
- ■HTTP_ACCEPT_CHARSET
- 文字コード(charset)の希望。例:utf-8。近年のブラウザでは省略されることも多い項目です。* は「任意」を意味します。
- ■HTTP_CONNECTION
- 接続オプション。keep-alive(接続を維持)や close(通信後に切断)、Upgrade などが入る場合があります。
- ■HTTP_KEEP_ALIVE
- Keep-Alive接続のパラメータ(timeout、max など)。※常に送られるとは限らず、環境によって空になることがあります。
- ■HTTP_REFERER
- 遷移元URL(Refererヘッダ)。直リンク・ブックマーク・アプリ内遷移などでは空になりやすく、プライバシー設定で送られない場合もあります。※偽装も可能です。
- ■SERVER_NAME
- サーバ側で設定されているホスト名(仮想ホスト名など)。HTTP_HOST(ブラウザが指定したドメイン)とは別物として扱うのが安全です。
- ■SERVER_ADDR
- リクエストを処理しているサーバのIPアドレス。ロードバランサー配下では内部IPになることがあります。
- ■SERVER_PORT
- リクエストを受け付けたポート番号。通常は 80(HTTP)/ 443(HTTPS)ですが、環境により変わります。
- ■SERVER_SOFTWARE
- Webサーバソフトウェア名とバージョンの情報(例:nginx/Apache など)。環境によっては非公開の場合もあります。
- ■DOCUMENT_ROOT
- Web公開の起点(ドキュメントルート)のサーバ内パス。ファイル配置やパス確認で使われます。
- ■GATEWAY_INTERFACE
- CGIインターフェースのバージョン(例:CGI/1.1)。PHP-FPM等の構成でも値が入る場合があります。
- ■SERVER_PROTOCOL
- リクエスト時のプロトコル名とバージョン(例:HTTP/1.1、HTTP/2)。
- ■REQUEST_TIME
- リクエスト開始時刻(UNIXタイムスタンプ、秒)。ログ突合や処理時間計測の基準に使えます。
- ■REMOTE_ADDR
- サーバから見た接続元IPアドレス。プロキシ/CDN/ロードバランサー経由の場合、「実ユーザー」ではなく中継のIPになることがあります。
- ■REMOTE_HOST
- REMOTE_ADDR の逆引きホスト名(DNS逆引き)。取得できないことも多く、環境によっては遅くなるため参考情報として扱うのが安全です。
- ■REMOTE_PORT
- クライアント側(接続元)が使用したポート番号。通常は一時ポート(エフェメラルポート)です。
- ■REQUEST_METHOD
- HTTPメソッド。GET/POST/HEAD/PUT など。フォーム送信やAPIアクセスの確認に使います。
- ■QUERY_STRING
- URLの「?」以降(クエリ文字列)。例:a=1&b=2。パラメータ付きアクセスの確認に使います。
- ■REQUEST_URI
- アクセスされたURI(パス + クエリ)。例:/path/to/page?a=1。ルーティングやアクセス先確認に便利です。
- ■SCRIPT_NAME
- 実行中スクリプトのパス(ドキュメントルートからの相対パス)。例:/env.php。
- ■HTTPS
- HTTPSアクセス時に "on" や "1" になることが多いフラグ。※プロキシ配下では OFF でも実際はHTTPSのケースがあるため、HTTP_X_FORWARDED_PROTO も併せて確認します。
- ■HTTP_X_FORWARDED_FOR
- プロキシ/ロードバランサー経由時の「元IP」候補。複数IPがカンマ区切りで入ることがあります。※環境外からも付与できるため、信頼できるプロキシ配下でのみ信用してください。
- ■HTTP_X_FORWARDED_PROTO
- プロキシ経由時の元のプロトコル(http/https)。HTTPS判定の補助に使います。
- ■HTTP_X_REAL_IP
- リバースプロキシが付与する実クライアントIP(構成により使われます)。※信頼できる経路でのみ信用してください。
- ■HTTP_VIA
- 経由したプロキシ情報。プロキシチェーンの手がかりになります。
- ■HTTP_CF_CONNECTING_IP
- Cloudflare経由の場合に、訪問者の実IPとして付与されるヘッダ(Cloudflare環境で有効)。
環境変数とは
環境変数とは
環境変数とは、プログラムが動くときに参照できる「実行環境の設定値や状態情報」のことです。 サーバやOS、Webサーバ(Apache/Nginxなど)、PHPなどが用意した値が、キーと値の組(例:NAME=VALUE)として渡されます。
Webツールで表示される環境変数には、アクセスしてきたブラウザが送った情報(HTTPヘッダ)や、 サーバが把握している情報(サーバ名、ポート、プロトコル、実行ファイルの場所など)が含まれます。
同じページでも、端末やブラウザ、回線(Wi-Fi/モバイル/VPN)、プロキシやCDNの有無によって値が変わることがあります。 そのため、環境変数を確認すると「今どんな条件でアクセスされているか」を客観的に把握でき、 動作不具合の調査や設定の確認に役立ちます。
なお、環境変数の中にはIPアドレスや遷移元URLなど、共有に注意が必要な情報が含まれる場合があります。 外部に送るときは必要に応じて値を伏せるなどの対応をしてください。
このツールの使い方
このツールでできること
このページでは、あなたが今アクセスしている環境の情報(HTTPヘッダ・サーバ情報・接続元情報など)を一覧で確認できます。
- ブラウザが送っている情報(例:言語設定、圧縮対応、User-Agent)
- サーバが認識している情報(例:プロトコル、ポート、ドキュメントルート)
- 接続元の情報(例:IPアドレス、プロキシ経由の痕跡)
- URL/アクセス内容(例:GET/POST、リクエストURI)
「思った通りの設定になっているか」「HTTPS判定が正しいか」「プロキシ/CDN経由でIPがどう見えているか」などの確認に使えます。
使い方(初めての方でも迷わない手順)
1) まずは上部の一覧で今の状態を確認
ページを開いた時点で、あなたのアクセスに基づいた値が表示されています。同じ環境でも、以下で値が変化することがあります。
- PC/スマホを変える
- ブラウザを変える(Chrome / Edge / Safari など)
- Wi-Fi / モバイル通信を切り替える
- VPNのON/OFF
- CDNやロードバランサー配下でアクセスする
2) 検索・絞り込みで見たい項目だけを見る
項目数が多い場合は、検索(例:HTTP_、REMOTE、ACCEPT)で絞り込みます。
よく使う検索例:
- HTTPS:HTTPS判定を確認したい
- FORWARDED:プロキシ経由の痕跡を見たい
- USER_AGENT:端末/ブラウザ情報を見たい
- ACCEPT:言語や圧縮などのブラウザ設定を見たい
- REQUEST:アクセス先URLやメソッドを見たい
3) コピー機能を使って共有・記録する
不具合報告や設定確認で「値を送ってください」と言われることがあります。
- 1行だけコピー(KEY=VALUE)
- 値だけコピー
- 全行コピー(まとめて貼り付け)
共有するときは、次の「注意点」を必ず読んでください。
4) 不具合調査に使うときの見どころ
よくある確認ポイントです。
- HTTPSなのにHTTP扱いになる → HTTPS / HTTP_X_FORWARDED_PROTO を確認
- ユーザーのIPが取れない/変に見える → REMOTE_ADDR と HTTP_X_FORWARDED_FOR を確認
- 日本語ページなのに英語になる → HTTP_ACCEPT_LANGUAGE を確認
- 圧縮が効いていない気がする → HTTP_ACCEPT_ENCODING を確認
- 特定のブラウザだけ挙動が違う → HTTP_USER_AGENT を確認
共有前の注意(とても重要)
このページに表示される値の中には、個人情報や機密になり得るものがあります。
- IPアドレス(REMOTE_ADDR など)
- 遷移元URL(HTTP_REFERER)
- プロキシヘッダ(HTTP_X_FORWARDED_FOR 等)
不特定多数に公開する場所(SNS・掲示板など)へ貼り付けるのは避け、必要に応じてマスクしてください。 例:192.168.0.xxx のように末尾を伏せる
よくある質問
Q. 同じPCなのに値が変わります
回線(Wi-Fi/モバイル/VPN)、ブラウザ、拡張機能、プロキシ/CDN、セキュリティ設定で変わります。
Q. REMOTE_ADDR がユーザーのIPになりません
CDN・ロードバランサー・リバースプロキシのIPが見えている可能性があります。HTTP_X_FORWARDED_FOR や HTTP_CF_CONNECTING_IP を併せて確認してください(ただし信頼できる経路のときのみ)。
関連ツール
※このプログラムはPHP8.2.22にて作成、動作確認を行っております。
※ご利用下さっている皆様のご意見・ご要望(改善要望)をお寄せください。