diff --git a/tinyfilemanager.php b/tinyfilemanager.php index 6462b56..a7d847e 100644 --- a/tinyfilemanager.php +++ b/tinyfilemanager.php @@ -244,8 +244,19 @@ if (isset($_GET['logout'])) { } // Validate connection IP -if($ip_ruleset != 'OFF'){ - $clientIp = $_SERVER['REMOTE_ADDR']; +if ($ip_ruleset != 'OFF') { + function getClientIP() { + if (array_key_exists('HTTP_X_FORWARDED_FOR', $_SERVER)) { + return $_SERVER["HTTP_X_FORWARDED_FOR"]; + }else if (array_key_exists('REMOTE_ADDR', $_SERVER)) { + return $_SERVER['REMOTE_ADDR']; + }else if (array_key_exists('HTTP_CLIENT_IP', $_SERVER)) { + return $_SERVER['HTTP_CLIENT_IP']; + } + return ''; + } + + $clientIp = getClientIP(); $proceed = false;