stanley-king 6 سال پیش
والد
کامیت
853cb971b7
1فایلهای تغییر یافته به همراه21 افزوده شده و 0 حذف شده
  1. 21 0
      mobile/control/control.php

+ 21 - 0
mobile/control/control.php

@@ -137,6 +137,27 @@ class mobileControl
         return (microtime(true) - self::$startime);
     }
 
+    function get_client_ip()
+    {
+        if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
+            $ip = getenv('HTTP_CLIENT_IP');
+            Log::record("get_client_ip 1 = {$ip}",Log::DEBUG);
+        } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
+            $ip = getenv('HTTP_X_FORWARDED_FOR');
+            Log::record("get_client_ip 2 = {$ip}",Log::DEBUG);
+
+        } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
+            $ip = getenv('REMOTE_ADDR');
+            Log::record("get_client_ip 3 = {$ip}",Log::DEBUG);
+
+        } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
+            $ip = $_SERVER['REMOTE_ADDR'];
+            Log::record("get_client_ip 4 = {$ip}",Log::DEBUG);
+
+        }
+        return preg_match ( '/[\d\.]{7,15}/', $ip, $matches ) ? $matches [0] : '';
+    }
+
     protected function check_app_type()
     {
         $client = strtolower(trim($_SERVER['HTTP_CLIENT_TYPE']));