コード例 #1
0
ファイル: Common.php プロジェクト: BackupTheBerlios/oos-svn
 /**
  * Returns the best possible IP of the current user, in the format A.B.C.D
  *
  * @return string ip
  */
 public static function getIpString()
 {
     if (isset($_SERVER['HTTP_CLIENT_IP']) && ($ip = Piwik_Common::getFirstIpFromList($_SERVER['HTTP_CLIENT_IP'])) && strpos($ip, "unknown") === false) {
         return $ip;
     } elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && ($ip = Piwik_Common::getFirstIpFromList($_SERVER['HTTP_X_FORWARDED_FOR']) && isset($ip) && !empty($ip) && strpos($ip, "unknown") === false)) {
         return $ip;
     } elseif (isset($_SERVER['HTTP_CLIENT_IP']) && strlen(Piwik_Common::getFirstIpFromList($_SERVER['HTTP_CLIENT_IP'])) != 0) {
         return Piwik_Common::getFirstIpFromList($_SERVER['HTTP_CLIENT_IP']);
     } else {
         if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && strlen($ip = Piwik_Common::getFirstIpFromList($_SERVER['HTTP_X_FORWARDED_FOR'])) != 0) {
             return $ip;
         } elseif (isset($_SERVER['REMOTE_ADDR'])) {
             return Piwik_Common::getFirstIpFromList($_SERVER['REMOTE_ADDR']);
         } else {
             return '0.0.0.0';
         }
     }
 }