PHPでクライアントのIPアドレスを取得する方法


  1. $_SERVER変数を使用する方法:

    $clientIP = $_SERVER['REMOTE_ADDR'];

    この方法では、クライアントのIPアドレスは$_SERVERスーパーグローバル変数の'REMOTE_ADDR'キーから取得できます。

  2. X-Forwarded-Forヘッダーを使用する方法:

    $clientIP = $_SERVER['HTTP_X_FORWARDED_FOR'];

    一部のプロキシサーバーは、クライアントのIPアドレスをX-Forwarded-Forヘッダーに追加します。この方法では、$_SERVERスーパーグローバル変数の'HTTP_X_FORWARDED_FOR'キーからIPアドレスを取得できます。

  3. リモートIPアドレスを取得する関数を使用する方法:

    function getClientIP() {
       if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
           $ip = $_SERVER['HTTP_CLIENT_IP'];
       } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
           $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
       } else {
           $ip = $_SERVER['REMOTE_ADDR'];
       }
       return $ip;
    }
    $clientIP = getClientIP();

    この方法では、関数getClientIP()を定義し、上記の方法を組み合わせてクライアントのIPアドレスを取得します。