ホスト名からIPアドレスを取得することを「正引き」、IPアドレスからホスト名を取得することを「逆引き」と言う。すなわち、アクセス元のIPアドレスからホスト名を「逆引き」する方法。
アクセス元のIPアドレスは、サーバー変数 $_SERVER[‘REMOTE_ADDR’] にセットされる。gethostbyaddr関数を使うことで、IPアドレスからホスト名を取得することができる。
1 2 3 4 5 |
$ip = @$_SERVER['REMOTE_ADDR']; if ($ip) { $host = gethostbyaddr($ip); echo "Remote host = {$host}"; } |
gethostbyaddr関数は、ホスト名が取得できなかった場合は、引数のIPアドレスをそのまま返す。引数のIPアドレスが不適切な場合にはFALSEを返す。
参考サイト
PHP: gethostbyname – Manual
http://php.net/manual/ja/function.gethostbyname.php