getIpRange($ip, $ips); } else { $ips[] = $ip; } } } foreach ($ips as $ip) { if (SfIpUtils::checkIp($clientIp, $ip)) { return true; } } return false; } /** * @param string $ipRange * @param array $ips * * @return array */ public function getIpRange($ipRange, $ips = array()) { $pieces = array_map('trim', explode('-', $ipRange)); if (isset($pieces[0]) && isset($pieces[1])) { $firstIp = $ip = ip2long($pieces[0]); $lastIp = ip2long($pieces[1]); while ($ip <= $lastIp) { $ips[] = long2ip($ip); $ip++; } } elseif (isset($pieces[0])) { $ips[] = $pieces[0]; } return $ips; } }