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!