php 过滤正则ip
2017-01-21 18:25
197 查看
php 过滤正则ip
/** * 过滤正则ip * @param $dest_ip 请求ip * @param $allow_ip ip允许正则 如 10.1.2.* 或 10.1.2.[10,22]或10.1.2.[10-22] 或 [10,22].*.*.[10-22] * @return bool */ function filterRegExpIp($dest_ip, $allow_ip) { $dest_arr = explode('.', $dest_ip); $allow_arr = explode('.', $allow_ip); for ($i = 0; $i < 4; $i++) { if ($dest_arr[$i] != $allow_arr[$i]) { if ($allow_arr[$i] == '*') { continue; } else { preg_match_all("/^\[([\d,\-]*)\]$/", $allow_arr[$i], $match); $is_element = false; if (isset($match[1][0]) && $match[1][0] != "") { $elements = explode(",", $match[1][0]); foreach ($elements as $k => $element) { if (preg_match("/\-/", $element)) { list($start, $end) = explode("-", $element); if ($dest_arr[$i] >= $start && $dest_arr[$i] <= $end) { $is_element = true; break; } } elseif ($dest_arr[$i] == $element) { $is_element = true; break; } } } if(!$is_element) { return false; } } } } return true; }
相关文章推荐
- PHP学习SELECT postgresql正则表达式 cookie同一站点IP访问和域名访问 T检验
- PHP下ereg实现匹配ip的正则
- 关于java正则表达式的一点点过滤(java正则判断IP合法性)
- PHP正则过滤处理微信昵称中emoji字符的方法
- PHP中过滤常用标签的正则表达式
- ASP和PHP限制IP访问 只允许指定IP访问 允许*号通配符过滤IP
- php 实现 过滤国家ip访问功能
- php 正则过滤文章中所有的图片
- php 正则 过滤html 的超链接
- 【PHP】用正则表达式过滤js代码
- PHP伪静态路径使用正则过滤重复参数示例--(网站名泉州)
- php过滤微信表情符号的正则表达式方法
- PHP过滤常用标签的正则表达式
- PHP过滤常用标签的正则表达式
- PHP下ereg实现匹配ip的正则
- PHP过滤常见html标签的正则表达式
- php正则过滤字符串中的控制字符
- PHP限制IP访问 只允许指定IP访问 允许*号通配符过滤IP