summaryrefslogtreecommitdiff
path: root/program/lib/Roundcube/rcube_utils.php
diff options
context:
space:
mode:
authorThomas Bruederli <thomas@roundcube.net>2013-07-17 08:04:15 +0200
committerThomas Bruederli <thomas@roundcube.net>2013-07-17 08:04:15 +0200
commit4d480b36ea4b503ed997b1b9c60c433b5508e4aa (patch)
treee273646d17b12142d8ee9d6cf69f710c8180a2cd /program/lib/Roundcube/rcube_utils.php
parent6d1e313788e5c7f7449616faf587a6215a381c95 (diff)
Respect HTTP_X_FORWARDED_FOR and HTTP_X_REAL_IP variables for session IP check
Diffstat (limited to 'program/lib/Roundcube/rcube_utils.php')
-rw-r--r--program/lib/Roundcube/rcube_utils.php15
1 files changed, 15 insertions, 0 deletions
diff --git a/program/lib/Roundcube/rcube_utils.php b/program/lib/Roundcube/rcube_utils.php
index 6c3bd2143..cf87dedb7 100644
--- a/program/lib/Roundcube/rcube_utils.php
+++ b/program/lib/Roundcube/rcube_utils.php
@@ -666,6 +666,21 @@ class rcube_utils
/**
+ * Returns the real remote IP address
+ *
+ * @return string Remote IP address
+ */
+ public static function remote_addr()
+ {
+ foreach (array('HTTP_X_FORWARDED_FOR','HTTP_X_REAL_IP','REMOTE_ADDR') as $prop) {
+ if (!empty($_SERVER[$prop]))
+ return $_SERVER[$prop];
+ }
+
+ return '';
+ }
+
+ /**
* Read a specific HTTP request header.
*
* @param string $name Header name