ip检测在web开发种是经常遇见的,例如以下场景:
1. 限制某IP或某IP段访问网站
2. 只允许白名单的IP或IP段请求API接口
3. 登陆时多次输入错误密码,禁止该IP继续登陆
........
看似复杂的场景,其实使用一个ip检测函数就可以解决问题,代码如下:
/**
* IP检测
* @param string $checkIp 要检测的IP
* @param array $safeIps 安全ip组
* @return boolean
*/
function is_safe_ip($checkIp,$safeIps){
$ipRegexp = implode('|', str_replace( array('*','.'), array('\d+','\.') ,$safeIps) );
if(preg_match("/^(".$ipRegexp.")$/", $checkIp)){
return true;
}
return false;
}End!


