【PHP】IPとかUserAgentとかの利用者の情報を取得する$_SERVER(サーバー変数)の使い方

アイキャッチ画像

よくフィッシングサイトとかで「あなたのIPアドレスは~です。」みたいな感じで発信者情報開示請求訴訟もしてないのに煽り散らかすやつです。

それをPHPで実装するにはもとから入ってる$_SERVER変数を使うのが一番簡単です。

$_SERVER変数は他にもアクセスしているファイル・ディレクトリの絶対パスとかも取得できるやつなので用途は幅広いですよ。

すべての機能については公式のリファレンスとかを見てください。

よく使いそうな機能

アクセスしているプロトコル

$_SERVER['SERVER_PROTOCOL']
→出力結果例:HTTP/1.1

利用者のIPアドレス

$_SERVER['REMOTE_ADDR']
→出力結果例:127.0.0.1

アクセスしているポート番号

$_SERVER['REMOTE_PORT']
→出力結果例:443

ユーザーエージェント

$_SERVER['HTTP_USER_AGENT']
→出力結果例:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.87 Safari/537.36 OPR/74.0.3911.63 (Edition beta)

リファラー

ユーザーが直前までアクセスしていたページを取得する。

$_SERVER['HTTP_REFERER']
→出力結果例:yahoo.co.jp