diff --git a/api/remote.php b/api/remote.php index a891563..6c3a198 100644 --- a/api/remote.php +++ b/api/remote.php @@ -59,13 +59,14 @@ if(filter_input(INPUT_SERVER, "REQUEST_METHOD") == "GET") { echo json_encode($return); exit(); } else if(filter_input(INPUT_GET, "action") == "getIp") { - // If we are behind a proxy, return the proxies IP address - if(filter_input(INPUT_SERVER, "HTTP_X_FORWARDED_FOR") != null){ - $return['ip'] = filter_input(INPUT_SERVER, "HTTP_X_FORWARDED_FOR"); - } - else { - $return['ip'] = filter_input(INPUT_SERVER, "REMOTE_ADDR"); - } + // If we are behind a proxy, return the first IP the request was forwarded for. + if(filter_input(INPUT_SERVER, "HTTP_X_FORWARDED_FOR") != null){ + $return['ip'] = explode(",", filter_input(INPUT_SERVER, "HTTP_X_FORWARDED_FOR"))[0]; + + } else { + $return['ip'] = filter_input(INPUT_SERVER, "REMOTE_ADDR"); + } + echo json_encode($return); exit(); }