[PHP]クライアントのIPアドレスを取得する

php_program_top

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

PHP と IP アドレス

サイトへの訪問者から取得できる情報の中で、重要とされるものに IP アドレスがあります。

今回は PHP にて IP アドレスを取得する方法と IP アドレスの活用法。または IP アドレスを扱う際の注意事項を確認していきます。

 

IPアドレスを取得する方法

サイトに訪れたユーザーの IP アドレスを取得する方法は、PHP のサーバー情報の環境変数である

$_SERVER[‘REMOTE_ADDR’]

を使用する方法が有名です。

 

IPアドレスを取得するサンプルプログラム

サンプルプログラムの実行例

 

IPアドレスの注意点

PHP の $_SERVER[‘REMOTE_ADDR’] で取得した IP アドレスは多くは訪問者が利用している IP アドレスを示します。ただ訪問者の本当の IP アドレスである保証はありません。特にプロキシサーバーを経由してサイトに訪れたときは、プロキシサーバーの IP アドレスが表示されるので注意しましょう。

 

IP アドレスからホスト名を取得する

IP アドレスからホスト名を取得することができます。ホスト名の取得には数十秒ほどの時間がかかる可能性があるため、利用者が操作するページに実装するとレスポンスが悪くなる可能性があるので注意が必要です。またホスト名が必ず取得できる保証がない点も考慮したプログラムの実相を行いましょう。

ホスト名を取得する方法

gethostbyaddr([IPアドレス]);

ホスト名を取得するサンプルプログラム

サンプルプログラムの実行例

 

IP アドレス(IPv4)を数値に変換する

IP アドレス(IPv4)を長整数表現に変換する方法をご紹介します。

IP アドレスが指定した範囲内であるかを確認するときや、データベースに保存した IP アドレスにインデックスを設定したいときに IP アドレスを数値に変換すると便利です。

IP アドレスを数値に変換する方法

ip2long([IPアドレス]);

IP アドレスを数値に変換するサンプルプログラム

サンプルプログラムの実行例

 

 

ウェブプログラミングについては下記の本も参考になるので、スキルアップにお役立てください。

徳丸 浩(著)
ページ数: 688ページ
出版社:SBクリエイティブ
発売日:2018/06/21

出典:amazon