oops, committed from wrong branch, this is the fixed version
authorTim Starling <tstarling@users.mediawiki.org>
Thu, 31 Mar 2005 10:39:15 +0000 (10:39 +0000)
committerTim Starling <tstarling@users.mediawiki.org>
Thu, 31 Mar 2005 10:39:15 +0000 (10:39 +0000)
includes/ProxyTools.php

index cf19119..0978621 100644 (file)
@@ -32,12 +32,10 @@ function wfGetIP()
        if ( count( $trustedProxies ) ) {
                # Append XFF on to $ipchain
                if ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
-                       $xff = explode( ',', $_SERVER['HTTP_X_FORWARDED_FOR'] );
-                       for ( $i = 1; $i <= count( $xff ); $i++ ) {
-                               $ipchain[$i] = trim( $xff[count($xff) - $i );
-                       }
+                       $xff = array_map( 'trim', explode( ',', $_SERVER['HTTP_X_FORWARDED_FOR'] ) );
+                       $xff = array_reverse( $xff );
+                       $ipchain = array_merge( $ipchain, $xff );
                }
-               var_dump( $ipchain );
                # Step through XFF list and find the last address in the list which is a trusted server
                # Set $ip to the IP address given by that trusted server, unless the address is not sensible (e.g. private)
                foreach ( $ipchain as $i => $curIP ) {