]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Fixes #6012: Gets correct client IP behind proxy (1.8)
authorSteve Clay <steve@mrclay.org>
Sun, 8 Dec 2013 01:27:32 +0000 (20:27 -0500)
committerSteve Clay <steve@mrclay.org>
Sun, 8 Dec 2013 01:35:26 +0000 (20:35 -0500)
engine/lib/system_log.php

index 5a153afb2031e55ddfbac37c508e66b0929fcba5..bed86375501dfc9436067a174d481c127edbd9c6 100644 (file)
@@ -187,7 +187,11 @@ function system_log($object, $event) {
                $object_subtype = $object->getSubtype();
                $event = sanitise_string($event);
                $time = time();
-               $ip_address = sanitise_string($_SERVER['REMOTE_ADDR']);
+               if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
+                       $ip_address = array_pop(explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']));
+               } else {
+                       $ip_address = sanitise_string($_SERVER['REMOTE_ADDR']);
+               }
                $performed_by = elgg_get_logged_in_user_guid();
 
                if (isset($object->access_id)) {