All pastes #751647 Raw Edit

Anonym

public text v1 · immutable
#751647 ·published 2007-10-27 16:17 UTC
rendered paste body
function getip() {
    $ip = FALSE;
    if ((isset ($_SERVER['HTTP_CLIENT_IP'])) AND (!empty($_SERVER['HTTP_CLIENT_IP']))) {
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    }

    if ((isset ($_SERVER['HTTP_X_FORWARDED_FOR'])) AND (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))) {
        $ips = explode (', ', $_SERVER['HTTP_X_FORWARDED_FOR']);
        if ($ip != FALSE) {
            array_unshift($ips,$ip);
            $ip = FALSE;
        }

        $count = count($ips);
        // Exclude IP addresses that are reserved for LANs
        for ($i = 0; $i < $count; $i++) {
            if (!eregi("^(10|172\.16|192\.168)\.", $ips[$i])) {
                $ip = $ips[$i];
                break;
            }
        }
    }

    if (($ip == FALSE) and (isset ($_SERVER['REMOTE_ADDR']))) {
        $ip = $_SERVER['REMOTE_ADDR'];
    }

    return $ip;
}