diff --git a/main/inc/lib/userportal.lib.php b/main/inc/lib/userportal.lib.php index 7fe2739f8a..8196fd9d5c 100755 --- a/main/inc/lib/userportal.lib.php +++ b/main/inc/lib/userportal.lib.php @@ -1007,11 +1007,14 @@ class IndexManager // Tabs that are deactivated are added here. if (!empty($this->tpl->menu_navigation)) { foreach ($this->tpl->menu_navigation as $section => $navigation_info) { - $items[] = [ - 'icon' => null, - 'link' => $navigation_info['url'], - 'title' => $navigation_info['title'], - ]; + + if (!empty($navigation_info)) { + $items[] = [ + 'icon' => null, + 'link' => $navigation_info['url'], + 'title' => $navigation_info['title'], + ]; + } } } diff --git a/main/webservices/testip.php b/main/webservices/testip.php index 7c1928317f..01e1061d8c 100755 --- a/main/webservices/testip.php +++ b/main/webservices/testip.php @@ -3,9 +3,16 @@ /** * @package chamilo.webservices */ -$ip = trim($_SERVER['REMOTE_ADDR']); +$ip = ''; +if (!empty($_SERVER['REMOTE_ADDR'])) { + $ip = trim($_SERVER['REMOTE_ADDR']); +} if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { - list($ip1, $ip2) = preg_split('/,/', $_SERVER['HTTP_X_FORWARDED_FOR']); - $ip = trim($ip1); + if (filter_var($_SERVER['HTTP_X_FORWARDED_FOR'], FILTER_FLAG_IPV4 | FILTER_FLAG_IPV6) == $_SERVER['HTTP_X_FORWARDED_FOR']) { + list($ip1, $ip2) = preg_split('/,/', $_SERVER['HTTP_X_FORWARDED_FOR']); + $ip = trim($ip1); + } +} +if (!empty($ip) && filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_IPV6)) { + echo htmlentities($ip); } -echo htmlentities($ip);