[opw-web] Fix skip_proxy_ip_count



commit f47bc0cc635bf173110a59d298f56646e889112f
Author: Owen W. Taylor <otaylor fishsoup net>
Date:   Thu Dec 3 00:29:35 2015 -0500

    Fix skip_proxy_ip_count
    
    * Properly load it into configuration
    * X-Forward-For is , separated not space-separated

 classes/class_config.php |    4 ++--
 classes/class_core.php   |   10 ++++------
 config.sample.php        |    2 --
 3 files changed, 6 insertions(+), 10 deletions(-)
---
diff --git a/classes/class_config.php b/classes/class_config.php
index bd9ece7..0350d64 100644
--- a/classes/class_config.php
+++ b/classes/class_config.php
@@ -40,7 +40,7 @@ class config
     var $per_page;
     var $show_debug;
 
-    var $skip_proxy_ip;
+    var $skip_proxy_ip_count;
 
     var $ldap_server;
     var $ldap_port;
@@ -125,7 +125,7 @@ class config
             $this->lang_name        = isset($lang_name) ? $lang_name : 'en-gb';
             $this->per_page         = isset($per_page) ? $per_page : 10;
             $this->show_debug       = isset($show_debug) ? $show_debug : false;
-            $this->skip_proxy_ip    = isset($skip_proxy_ip) ? $skip_proxy_ip : false;
+            $this->skip_proxy_ip_count = isset($skip_proxy_ip_count) ? $skip_proxy_ip_count : false;
 
             $this->ldap_server      = isset($ldap_server) ? $ldap_server : '';
             $this->ldap_port        = isset($ldap_port) ? $ldap_port : '';
diff --git a/classes/class_core.php b/classes/class_core.php
index 934b427..bd8bbff 100644
--- a/classes/class_core.php
+++ b/classes/class_core.php
@@ -145,18 +145,16 @@ class core
 
         if (isset($_SERVER['REMOTE_ADDR'])) {
             if ($ips != '')
-                $ips .= ' ';
+                $ips .= ', ';
 
             $ips .= $_SERVER['REMOTE_ADDR'];
         }
 
         $ips = trim($ips);
 
-        if ($config->skip_proxy_ip_count > 0) {
-            $ip_arr = preg_split("/ +/", $ips);
-            $ip_arr = array_slice($ip_arr, 0, count($ip_arr) - $config->skip_proxy_ip_count);
-            $ips = join(" ", $ip_arr);
-        }
+        $ip_arr = preg_split("/ *, */", $ips);
+        $ip_arr = array_slice($ip_arr, 0, count($ip_arr) - $config->skip_proxy_ip_count);
+        $ips = join(" ", $ip_arr);
 
         return $ips;
     }
diff --git a/config.sample.php b/config.sample.php
index c78a8ca..cbea197 100644
--- a/config.sample.php
+++ b/config.sample.php
@@ -79,8 +79,6 @@ $show_debug = true;
 // remote addresses should be skipped
 $skip_proxy_ip_count = 0;
 
-$skip_proxy_ip = false;
-
 // LDAP server address
 $ldap_server = "";
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]