php取得本物のipアドレス

2157 ワード

フロントエンドはどんな負荷デバイスでも、x-forward-forのようなパラメータがオンであれば、バックエンドでipを取得できます.

  
  
  
  
  1. <?php

  2. function GetIP() {  

  3.     if ($_SERVER["HTTP_X_FORWARDED_FOR"])  

  4.         $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];  

  5.     else if ($_SERVER["HTTP_CLIENT_IP"])  

  6.         $ip = $_SERVER["HTTP_CLIENT_IP"];  

  7.     else if ($_SERVER["REMOTE_ADDR"])  

  8.         $ip = $_SERVER["REMOTE_ADDR"];  

  9.     else if (getenv("HTTP_X_FORWARDED_FOR"))  

  10.         $ip = getenv("HTTP_X_FORWARDED_FOR");  

  11.     else if (getenv("HTTP_CLIENT_IP"))  

  12.         $ip = getenv("HTTP_CLIENT_IP");  

  13.     else if (getenv("REMOTE_ADDR"))  

  14.         $ip = getenv("REMOTE_ADDR");  

  15.     else  

  16.         $ip = "Unknown";  

  17.     return $ip;  

  18. }  

  19. echo GetIP();  

  20. ?>


これは通用します.