]> git.mxchange.org Git - mailer.git/blobdiff - inc/functions.php
Reversed and obsolete code removed (was for admin area, we don't rewrite links in...
[mailer.git] / inc / functions.php
index 44ba689b58698b62acb3820db3fe324c990c9053..d6c84e21874b9a6429210d85e831a3c66ef63798 100644 (file)
@@ -3331,10 +3331,34 @@ function TRANSLATE_POOL_TYPE ($type) {
        return $translated;
 }
 
+// Determines the real remote address
+function determineRealRemoteAddress () {
+       // Is a proxy in use?
+       if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])){
+               // Proxy was used
+               $address = $_SERVER['HTTP_X_FORWARDED_FOR'];
+       } elseif (isset($_SERVER['HTTP_CLIENT_IP'])){
+               // Yet, another proxy
+               $address = $_SERVER['HTTP_CLIENT_IP'];
+       } else {
+               // The regular address when no proxy was used
+               $address = $_SERVER['REMOTE_ADDR'];
+       }
+
+       // This strips out the real address from proxy output
+       if (strstr($address, ",")){
+               $addressArray = explode(",", $address);
+               $address = $addressArray[0];
+       } // END - if
+
+       // Return the result
+       return $address;
+}
+
 // "Getter" for remote IP number
 function GET_REMOTE_ADDR () {
        // Get remote ip from environment
-       $remoteAddr = getenv('REMOTE_ADDR');
+       $remoteAddr = determineRealRemoteAddress();
 
        // Is removeip installed?
        if (EXT_IS_ACTIVE("removeip")) {