хорошо что я не доверяю этому фильтру)
if(!$ip = getenv('HTTP_CLIENT_IP')){
if(!$ip = getenv('HTTP_X_FORWARDED_FOR')){
if(!$ip = getenv('REMOTE_ADDR')){
$ip = '';
}
}
}
preg_match('/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/', $ip, $ip);
$ip = implode('.', $ip);
$this->ip = ($ip!='') ? $ip : false;