/** * Attempt to find the IP a connection to the board is from. * * @return string The best guess as to the IP a connection to the board is * from. */ public static function getip() { if (logger::validip($_SERVER["HTTP_CLIENT_IP"])) { return $_SERVER["HTTP_CLIENT_IP"]; } foreach (explode(",", $_SERVER["HTTP_X_FORWARDED_FOR"]) as $ip) { if (logger::validip(trim($ip))) { return $ip; } } if (logger::validip($_SERVER["HTTP_X_FORWARDED"])) { return $_SERVER["HTTP_X_FORWARDED"]; } else { if (logger::validip($_SERVER["HTTP_FORWARDED_FOR"])) { return $_SERVER["HTTP_FORWARDED_FOR"]; } else { if (logger::validip($_SERVER["HTTP_FORWARDED"])) { return $_SERVER["HTTP_FORWARDED"]; } else { if (logger::validip($_SERVER["HTTP_X_FORWARDED"])) { return $_SERVER["HTTP_X_FORWARDED"]; } else { if ($_SERVER["REMOTE_ADDR"]) { return $_SERVER["REMOTE_ADDR"]; } else { return "127.0.0.1"; } } } } } }