Example #1
0
 /**
  * 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";
                     }
                 }
             }
         }
     }
 }