あなたの情報です。
JavascriptとCGIを組み合わせることでこのような情報を取得することができます。
アクセス解析サービスなどはこのようにして情報を取得しています。
またこの情報はサーバーにログを残すことができます。
このような情報がわかるということは、誰がいつどこにアクセスしたかがわかるということです。
インターネットは危険だということですね。
情報は数多く取得できますが、重要なものは次のものでしょう。
| 項目 | あなたの値 | 説明 |
|---|---|---|
| ブラウザの名前 | Javascript window.navigator.appName |
|
| プラットフォーム | Javascript window.navigator.platform Win32、MacPPCなど。 |
|
| ディスプレイの画面サイズ | Javascript window.screen.widthと window.screen.height |
|
| ディスプレイの表示色数 | Javascript window.screen.colorDepth 実際に取得するのは数字。 1:白黒、4:16色、8:256色、15:32768色、16:32768色、24:1677万色、32:1677万色+α |
|
| どこから来たか | Javascript document.referer 環境変数ではHTTP_REFERER。 |
|
| プロバイダのIPアドレス | 216.73.216.208 |
REMOTE_ADDR プロキシサーバーを設定している場合はそのIPアドレス。 |
| プロバイダのホスト名 | 上記IPアドレスをgethostbyaddrで変換したもの。 | |
| ブラウザの情報 | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
HTTP_USER_AGENT Javascriptからでも取得することができる。(window.navigator.userAgent) |
| プロキシサーバのバージョン等 | 1.1 squid-proxy-5b5d847c96-nltsl (squid/6.13) |
HTTP_VIA HTTPプロトコルのバージョン、プロキシサーバのFQDN名:ポート番号、プロキシサーバのバージョン。 |
| プロキシサーバの情報 | HTTP_FORWARDED |
|
| プロバイダのIPアドレス(2) | 216.73.216.208 |
HTTP_X_FORWARDED_FOR 経由してきたプロキシサーバのIPアドレス一覧。ここにプロバイダのIPアドレスが出るプロキシサーバは注意。 |
| プロバイダのホスト名(2) | 上記IPアドレスをgethostbyaddrで変換したもの。 | |
| プロキシサーバの効果 | PROXY_CONNECTION | |
| プロキシサーバのキャッシュ最大秒数 | max-age=0 |
HTTP_CACHE_CONTROL プロキシサーバのキャッシュを保持する最大秒数 |
| プロキシサーバのキャッシュ情報 | HTTP_CACHE_INFO |
|
| プロキシ関連情報 | HTTP_CLIENT クライアントのIPアドレスやどこから来たか等の情報が出る場合がある。 |
|
| プロキシ関連情報 | HTTP_CLIENT_IP クライアントのIPアドレスやどこから来たか等の情報が出る場合がある。 |
|
| プロキシ関連情報 | HTTP_LOCKING クライアントのIPアドレスやどこから来たか等の情報が出る場合がある。 |
|
| プロキシ関連情報 | HTTP_X_LOCKING クライアントのIPアドレスやどこから来たか等の情報が出る場合がある。 |
|
| クッキーの値 | HTTP_COOKIE |
以下はその他の環境変数の中で、ユーザに関係があると思われるものです。
| 項目 | あなたの値 | 説明 |
|---|---|---|
| ブラウザが受け入れ可能なファイル形式 | */* |
HTTP_ACCEPT ブラウザが受け入れることができるMIMEタイプの一覧。Content-typeの一覧。すべてを許可する場合は */* となる。 |
| ブラウザが受け入れ可能な言語セット | HTTP_ACCEPT_CHARSET ブラウザが受け入れることができる言語セットの一覧。 |
|
| ブラウザのサポート言語 | HTTP_ACCEPT_LANGUAGE ブラウザがサポートする言語。jaまたはJPNで日本語をサポートする。 |
|
| ブラウザが受け入れ可能なエンコードタイプ | gzip, br, zstd, deflate |
HTTP_ACCEPT_ENCODING ブラウザが受け入れることができるエンコードタイプの一覧 |
| クライアントのホスト名 | REMOTE_HOST クライアントのホスト名。 ホスト名を持たない場合はIPアドレスになる。 プロバイダのダイヤルアップ接続の場合は、その時接続されているプロバイダのサーバ名。 |
|
| クライアントのユーザーID | REMOTE_IDENT httpd認証を経由していれば表示する。閲覧者が居るホストでident daemonが待機している場合に得られる閲覧者のID。 この環境変数は設定されないことがほとんど。 |
|
| クライアントのユーザー名 | REMOTE_USER RFC1413認証をサポートしていれば表示する。リクエストされたページが個人認証などのために、.htaccessなどでアクセス制限されている場合、あらかじめID、パスワードを入力していれば、そのユーザーIDがセットされる。 |
|
| クライアントのパスワード | REMOTE_PASSWORD | |
| クライアントのポート番号 | 35900 |
REMOTE_PORT クライアント側のブラウザが、サーバ側のhttpdとの接続のために割り当てたャPットのport番号。普通クライアント側のOSが勝手に決める |
| Formのバイト数 | CONTENT_LENGTH> METHOD=POSTの時のフォームから標準入力に送られたデータのバイト数。 |
|
| Formのデータのタイプ | CONTENT_TYPE フォームから送られたデータのタイプ。METHOD=POSTで送信した場合は、application/x-www-form-urlencoded となる。 |
|
| Formのデータの取得手段 | GET |
REQUEST_METHOD METHODで指定したデータ取得手段。GET, POST, HEAD, PUT, DELETE, LINK, UNLINKなどの種類がある。 |
| URLデータ | QUERY_STRING 「http://サーバー名/CGIスクリプト名?データ」というURLを要求した場合のデータ部分。 |
その他の環境変数です。
以下のようなものがあります。
※詳細不明なものが多いです。(私がUNIXにあまり詳しくないため)
| 項目 | あなたの値 | 説明 |
|---|---|---|
| 認証パスワード | AUTH_PASS | |
| 認証パスワード | AUTH_PASSWORD | |
| 認証方式 | AUTH_TYPE (MD5、Basicなど) |
|
| 認証ユーザ名 | AUTH_USER | |
| BLASTER | BLASTER | |
| CONSOLE | CONSOLE | |
| コマンドライン | CMD_LINE CMDLINE? |
|
| COMSPEC | COMSPEC | |
| GMTグリニッジ標準時表記の現在時刻 | DATE_GMT | |
| ローカル表記の現在時刻 | DATE_LOCAL | |
| DOCUMENT_ARGS | DOCUMENT_ARGS | |
| 文書名 | DOCUMENT_NAME | |
| 文書のパス | DOCUMENT_PATH | |
| 文書のパス情報 | DOCUMENT_PATH_INFO | |
| 文書のルートディレクトリ | /home/users/2/lolipop.jp-dp59022563/web |
DOCUMENT_ROOT ドキュメントをリクエストしたときに参照されるディレクトリ。http://jimita.com/ を表示したときに参照されるディレクトリ |
| 文書のURI | DOCUMENT_URI | |
| メールアドレス | FROM | |
| GATEWAY_INTERFACE | CGI/1.1 |
GATEWAY_INTERFACE サーバが実行しているCGIのバージョン。ゲートウェイプロトコルの名称。(CGI/1.1など) |
| GROUP | GROUP | |
| ホームディレクトリ | HOME | |
| HOST | HOST | |
| ホスト名 | HOSTNAME | |
| ホスト型 | HOSTTYPE | |
| 受付可能範囲 | HTTP_ACCEPT_RANGES | |
| 接続状態 | HTTP_CONNECTION keep-aliveの場合は、リクエストを一度に複数送ることでコンテンツの連続転送を行う。 |
|
| HTTP_EXTENTION | HTTP_EXTENTION | |
| クライアントの電子メールアドレス | HTTP_FORM | |
| クライアントの電子メールアドレス | HTTP_FROM メールアドレス、またはプロキシ要求元のIPアドレス。 |
|
| サーバのホスト名 | jimita.com |
HTTP_HOST |
| HTTP_IDENT | HTTP_IDENT | |
| HTTP_IF_MODIFIED_SINCE | HTTP_IF_MODIFIED_SINCE | |
| HTTP_KEEP_ALIVE | HTTP_KEEP_ALIVE | |
| HTTP_MAX_FORWARDS | HTTP_MAX_FORWARDS | |
| HTTP_PRAGMA | HTTP_PRAGMA キャッシュ情報。no-cacheの場合は「キャッシュされている内容ではなく最新情報を取得せよ」とブラウザが指示したということ。 |
|
| HTTP_PROXY_AUTHORIZATION | HTTP_PROXY_AUTHORIZATION | |
| プロキシ接続情報 | HTTP_PROXY_CONNECTION | |
| HTTP_RANGE | HTTP_RANGE | |
| HTTP_REMOTE_ADDR | 216.73.216.208 |
HTTP_REMOTE_ADDR |
| HTTP_REMOTE_HOST | HTTP_REMOTE_HOST | |
| HTTP_REMOTE_IDENT | HTTP_REMOTE_IDENT | |
| HTTP_REMOTE_USER | HTTP_REMOTE_USER | |
| HTTP_SEPHIRA | HTTP_SEPHIRA 旧ガブリエナイのヴァージョン情報。 |
|
| プロキシの情報? | HTTP_SP_HOST | |
| HTTP_UA_COLOR | HTTP_UA_COLOR | |
| クライアントのCPU | HTTP_UA_CPU | |
| クライアントのOS | HTTP_UA_OS | |
| クライアントのブラウザのサイズ | HTTP_UA_PIXELS | |
| HTTP_X_DELEGATE_REMOTE_HOS | HTTP_X_DELEGATE_REMOTE_HOS | |
| HTTPS | HTTPS | |
| IFS | IFS | |
| INIT_VERSION | INIT_VERSION | |
| LANG | LANG | |
| ドキュメントの最終更新日 | LAST_MODIFIED | |
| LOCAL_ADDR | LOCAL_ADDR | |
| LOGNAME | LOGNAME | |
| LOGON_USER | LOGON_USER | |
| MACHTYPE | MACHTYPE | |
| MAILCHECK | MAILCHECK | |
| OPTIND | OPTIND | |
| OSTYPE | OSTYPE | |
| コマンドのパス | /bin /usr/bin /usr/ucb /usr/bsd /usr/local/bin /sbin /usr/sbin /usr/local/sbin |
PATH |
| コマンドのパス情報 | PATH_INFO CGIを呼び出す際にスラッシュで続けた文字列が格納される。例えば、「cgi-bin/xxx.cgi/jimita/xxx.htm」というURLでCGIを呼び出した場合、PATH_INFOには「/jimita/xxx.htm」が格納される。 これはイメージマップのマップファイルの指定などに使われる。 |
|
| PATH_TRANSLATED | PATH_TRANSLATED PATH_INFOで指定したファイルのサーバー上のフルパス。DOCUMENT_ROOTにPATH_INFOをつなげた値。 |
|
| PREVIOUS | PREVIOUS | |
| PREVLEVEL | PREVLEVEL | |
| PROMPT | PROMPT | |
| PWD | PWD | |
| QUERY_STRING_UNESCAPED | QUERY_STRING_UNESCAPED デコードできなかった文字列 |
|
| REDIRECT_REQUEST | REDIRECT_REQUEST | |
| ステータスコード | REDIRECT_STATUS よくある404とか500などのステータスコード。200はOKという意味。 |
|
| REDIRECT_URL | REDIRECT_URL | |
| REQUEST_FILENAME | REQUEST_FILENAME | |
| REQUEST_METHOD | GET |
REQUEST_METHOD 要求メソッド |
| REQUEST_URI | /cgi-bin/env.cgi |
REQUEST_URI クライアントが要求したURI |
| RUNLEVEL | RUNLEVEL | |
| スクリプトの名前 | /home/users/2/lolipop.jp-dp59022563/web/cgi-bin/env.cgi |
SCRIPT_FILENAME CGIのファイル名。ルートディレクトリ(/)からのフルパス。URL表記ではなくディレクトリ表記。 |
| SCRIPT_MAP | SCRIPT_MAP | |
| スクリプトの名前 | /cgi-bin/env.cgi |
SCRIPT_NAME CGIのファイル名。URLからホスト部のURLを除いた部分。ディレクトリ表記ではなくURL表記。 |
| SCRIPT_URI | SCRIPT_URI | |
| SCRIPT_URL | SCRIPT_URL | |
| SERVER_ADDR | 172.19.48.134 |
SERVER_ADDR |
| サーバの管理者のメールアドレス | SERVER_ADMIN | |
| SERVER_BLOCKSIZE | SERVER_BLOCKSIZE | |
| サーバー名 | jimita.com |
SERVER_NAME HTTPDが実行されているサーバのホスト名またはIPアドレス。 |
| SERVER_PORT_SECURE | SERVER_PORT_SECURE | |
| サーバーのポート番号 | 80 |
SERVER_PORT サーバがHTTPの通信に使用しているポート番号。デフォルトは80。 |
| サーバーのプロトコル名 | HTTP/1.1 |
SERVER_PROTOCOL HTTPプロトコルの名前とそのバージョン。クライアントのリクエストにより変わる。(HTTP/1.1など) |
| SERVER_SIGNATURE | SERVER_SIGNATURE | |
| サーバーのソフトウェア名 | LiteSpeed |
SERVER_SOFTWARE HTTPDのソフトウエア名とそのバージョン。(AnWeb/1.40d、NCSA/1.3など) |
| サーバのバージョン | SERVER_VERSION | |
| SHELL | SHELL | |
| SHLVL | SHLVL | |
| TEMPディレクトリ | TEMP | |
| TERM | TERM | |
| TMPディレクトリ | TMP | |
| TZ | TZ サーバのタイム・ゾーン(地方時間帯)。日本の場合はJapan(JST-9)。時刻を扱うスクリプトを書くときにはこの値をチェックして、必要であれば = 'JST-9'; のように値を日本標準時にセットしておく必要がある。 |
|
| UNIQUE_ID | UNIQUE_ID | |
| URL | URL | |
| USER | USER | |
| USER_NAME | USER_NAME | |
| VENDOR | VENDOR | |
| VSERVER_NAME | VSERVER_NAME | |
| WINBOOTDIR | WINBOOTDIR | |
| Windowsディレクトリ | WINDIR |