[不花钱站长]:从免费域名开始[0元] Oracle永久免费VPS[0元] VPS环境搭建免费脚本[0元] 秒变大盘挂载免费网盘[0元] 小白免费采集器1天500W[0元] CF免费DNS+CDN服务[0元]
[零基础网赚]:撸本站免费源码[0元] 网站强引免费蜘蛛法[0元] 图片视频文件免费存储[0元] 外链轻松发布免费友链[0元] 入坑免费教程学习源代码[0元] 网上百种+赚钱联盟推荐[?元]

↑↑VPS推荐网 WWW.VPS.COM.IN 稳定 便宜 免备案↑↑


您现在的位置是:首页 > 全球[VPS测评] >  免费VPS,国外永久免费VPS

PHP判断IP是否在指定IP段内的类

全球[VPS测评]来源:VPS推荐网点击:953
【性价之王】【线路之王】【价格之王】【配置之王】
【免费之王】【香港首推】【梯子之王】【独服之王】
PHP判断IP是否在指定IP段内的类说明:

检测一个IP地址是否在规定网段内的类。IP在指定IP段范围内的话返回TRUE和信息“IP检测通过”,IP不在IP段范围内则返回FALSE和错误信息,错误信息可以从属性“msg”中获得,详见用法和代码。

代码:

<?php class ipCheck { public $ipRangeStr = '10.0.0.1/8'; public $msg = ''; function __construct($ipRangeStr){   !empty($ipRangeStr) ? $this->ipRangeStr = $ipRangeStr : ''; } function check($ip = '') {   empty($ip) && $ip = $this->getClientIp();     # 判断检测类型   if (FALSE !== strpos($this->ipRangeStr,'-')){    $type = 'size'; // 简单比大小:10.0.0.1-254 OR 10.0.0.1-10.0.0.254   }else if(FALSE !== strpos($this->ipRangeStr,'/')){    $type = 'mask'; // 掩码比大小:10.0.0.1/24   }else{    $this->msg = '错误的IP范围值';    return FALSE;   }   # 分析IP范围   if ('size' === $type){    $ipRangeStr = explode('-',$this->ipRangeStr);    $ipAllowStart = $ipRangeStr[0];    $ipAllowEnd = $ipRangeStr[1];    if (FALSE === strpos($ipAllowEnd,'.')){ # 10.0.0.254 OR 254     $ipAllowElmArray = explode('.',$ipAllowStart);     $ipAllowEnd = $ipAllowElmArray[0] . '.' .          $ipAllowElmArray[1] . '.' .          $ipAllowElmArray[2] . '.' .          $ipAllowEnd;    }   }else if ('mask' === $type){    $ipRangeStr = explode('/',$this->ipRangeStr);    $ipRangeIP = $ipRangeStr[0];    # 获取掩码中最后一位非零数的值    $ipRangeMask = (int)$ipRangeStr[1];    $maskElmNumber = floor($ipRangeMask/8); # 保留IP前几段    $maskElmLastLen = $ipRangeMask % 8; # 255.255.here.0    $maskElmLast = str_repeat(1,8-$maskElmLastLen);    $maskElmLast = bindec($maskElmLast); # 掩码中IP末段最大值(十进制)       // 获取IP段开始、结束值    $ipRangeIPElmArray = explode('.',$ipRangeIP);    if (0 == $maskElmNumber){     $ipAllowStart = '0.0.0.0';     $ipAllowEnd = $maskElmLast . '.254.254.254';    }else if (1 == $maskElmNumber){     $ipAllowStart = $ipRangeIPElmArray[0] . '.' . '0.0.0';     $ipAllowEnd = $ipRangeIPElmArray[0] . '.' . $maskElmLast . '.254.254';    }else if (2 == $maskElmNumber){     $ipAllowStart = $ipRangeIPElmArray[0] . '.' . $ipRangeIPElmArray[1] . '.' . '0.0';     $ipAllowEnd = $ipRangeIPElmArray[0] . '.' . $ipRangeIPElmArray[1] . '.' . $maskElmLast . '.254';    }else if (3 == $maskElmNumber){     $ipAllowStart = $ipRangeIPElmArray[0] . '.' . $ipRangeIPElmArray[1] . '.' . $ipRangeIPElmArray[2] . '.' . '0';     $ipAllowEnd = $ipRangeIPElmArray[0] . '.' . $ipRangeIPElmArray[1] . '.' . $ipRangeIPElmArray[2] . '.' . $maskElmLast;    }else if (4 == $maskElmNumber){     $ipAllowEnd = $ipAllowStart = $ipRangeIP;    }else{     $this->msg = '错误的IP段数据';     return $this->msg;    }   }else{    $this->msg = '错误的IP段类型';    return $this->msg;   }   // 检测IP   $ipAllowStart = $this->getDecIp($ipAllowStart);   $ipAllowEnd = $this->getDecIp($ipAllowEnd);   $ip = $this->getDecIp($ip);   if (!empty($ip)){    if ($ip <= $ipAllowEnd && $ip >= $ipAllowStart){     $this->msg = 'IP检测通过';     return TRUE;    }else{     $this->msg = '此为被限制IP';     return FALSE;    }   }else{    FALSE === ($this->msg) && $this->msg == '没有提供待检测IP'; // getClentIp() 是否返回false    return $this->msg; // 没有获取到客户端IP,返回   } } // 10进制IP function getDecIp($ip){   $ip = explode(".", $ip);   return $ip[0]*255*255*255+$ip[1]*255*255+$ip[2]*255+$ip[3]; } // 获取客户端IP function getClientIp(){   if(isset($_SERVER['REMOTE_ADDR'])){    return $_SERVER['REMOTE_ADDR'];   }else{    $this->msg = '不能获取客户端IP';    return FALSE;   } } } ?>

用法:

$ipCheck = new ipCheck('192.168.1.1-192.168.1.254'); echo (TRUE === $ipCheck ->check('192.168.1.45')) ? '在范围内' : $ipCheck->msg;

 

$ipCheck = new ipCheck('192.168.1.1-254'); echo (TRUE === $ipCheck ->check('192.168.1.45')) ? '在范围内' : $ipCheck->msg;

 

$ipCheck = new ipCheck('192.168.1.1/24'); echo (TRUE === $ipCheck ->check('192.168.1.45')) ? '在范围内' : $ipCheck->msg;
[免费VPS]历史优惠活动内容
  • #教程#甲骨文(Oracle Cloud)免费VPS申请教程,需要信用卡,虚拟卡会翻车
  • #免费VPS#日主机:美国三网CN2 GIA直连,年付99元起,免费10G防御,附测评
  • #免费VPS#伏羲云:美国CN2线路低19元/月,日本/香港直连VPS月付35起,免费试用2
  • #免费VPS#goorm:免费韩国、美国NAT VPS,速度一般,10分钟休眠
  • #羊毛#EUserv:德国机房永久免费VPS,只提供IPv6,可配合CloudFlare做站
  • #来至LOC#用白票女友的思维申请EUserv免费VPS,不成功你来打我
  • #领免费VPS#青云互联:2核/2G/20G SSD/500G流量/5M/香港直连/月付19
  • #投稿#Vmshell:香港高速CMI线路,8折优惠,免费VPS测试,3日内退款,新增双IP
  • #免费VPS#FTLcloud:4核/4G/50G/10Mbps不限流量/圣何塞/首月0元,
  • #免费VPS#mlklink:1核/512M/10G SSD/1T/500Mbps/洛杉矶/
  • #免费VPS#腾讯云:专属用户领取一年轻量,2核/4G/60G SSD/1T/6Mbps/国
  • #免费VPS#腾讯云:4核/4G/80G SSD/1200G流量/8Mbps/国内轻量/免费
  • 介绍一下免费VPS及国外免费VPS
  • #免费VPS#adman新用户首次付款减500卢布 免费用一个月
  • #免费VPS#华为云抽一个月免费VPS,可选择windows系统
  • #真实测评#华为云抽奖得2核4G免费VPS测评
  • skysilk免费VPS使用12个月教程
  • skysilk的免费VPS安装bbr教程
  • #真实测评#skysilk免费VPS,1美元VPS套餐测评数据
  • #免费VPS#llrry:2CPU 256M内存 10G硬盘 20Mbps不限流量 共享IP
  • #免费VPS#2019年最新国外免费一个月的VPS
  • #免费VPS#Azure:1G内存套餐免费使用1年,可选择香港、日本、新加坡等机房,可选wi
  • #教程#甲骨文(Oracle Cloud)免费VPS申请教程,需要信用卡,虚拟卡会翻车
  • #免费VPS#日主机:美国三网CN2 GIA直连,年付99元起,免费10G防御,附测评
  • #免费VPS#伏羲云:美国CN2线路低19元/月,日本/香港直连VPS月付35起,免费试用2
  • #免费VPS#goorm:免费韩国、美国NAT VPS,速度一般,10分钟休眠
  • #羊毛#EUserv:德国机房永久免费VPS,只提供IPv6,可配合CloudFlare做站
  • #来至LOC#用白票女友的思维申请EUserv免费VPS,不成功你来打我
  • #领免费VPS#青云互联:2核/2G/20G SSD/500G流量/5M/香港直连/月付19
  • #投稿#Vmshell:香港高速CMI线路,8折优惠,免费VPS测试,3日内退款,新增双IP
  • #免费VPS#FTLcloud:4核/4G/50G/10Mbps不限流量/圣何塞/首月0元,
  • #免费VPS#mlklink:1核/512M/10G SSD/1T/500Mbps/洛杉矶/
  • #免费VPS#腾讯云:专属用户领取一年轻量,2核/4G/60G SSD/1T/6Mbps/国
  • #免费VPS#腾讯云:4核/4G/80G SSD/1200G流量/8Mbps/国内轻量/免费
  • #免费VPS#mlklink:1核/512M/10G SSD/1T/500Mbps/洛杉矶/
  • #免费VPS#腾讯云:专属用户领取一年轻量,2核/4G/60G SSD/1T/6Mbps/国
  • #免费VPS#腾讯云:4核/4G/80G SSD/1200G流量/8Mbps/国内轻量/免费
  • #投稿#Vmshell:香港高速CMI线路,8折优惠,免费VPS测试,3日内退款,新增双IP
  • #免费VPS#FTLcloud:4核/4G/50G/10Mbps不限流量/圣何塞/首月0元,
  • #免费VPS#mlklink:1核/512M/10G SSD/1T/500Mbps/洛杉矶/
  • #免费VPS#腾讯云:专属用户领取一年轻量,2核/4G/60G SSD/1T/6Mbps/国
  • #免费VPS#腾讯云:4核/4G/80G SSD/1200G流量/8Mbps/国内轻量/免费
  • VPS主机福利–国外免费vps主机、试用vps主机推荐
  • VPS主机福利–国外免费vps主机、试用vps主机推荐
  • VPS主机福利–国外免费vps主机、试用vps主机推荐
  • VPS主机福利–国外免费vps主机、试用vps主机推荐
  • VPS主机福利–国外免费vps主机、试用vps主机推荐
  • VPS主机福利–国外免费vps主机、试用vps主机推荐
  • VPS主机福利–国外免费vps主机、试用vps主机推荐
  • VPS主机福利–国外免费vps主机、试用vps主机推荐
  • VPS主机福利–国外免费vps主机、试用vps主机推荐
  • VPS主机福利–国外免费vps主机、试用vps主机推荐
  • VPS主机福利–国外免费vps主机、试用vps主机推荐
  • VPS主机福利–国外免费vps主机、试用vps主机推荐
  • digitalocean-9月免费赠送25美元/够用5个月免费VPS
  • digitalocean-9月免费赠送25美元/够用5个月免费VPS
  • turnkeyinternet→免费vps/kvm/8g内存/8核/80gSSD/1g端口/
  • 免费VPS 国外免费vps 国外永久免费vps
  • 【最新版】 那些可以白“女票”的“免费VPS” 海外版(国外免费VPS)推荐
  • 【最新版】 那些可以白“女票”的“免费VPS” 海外版(国外免费VPS)推荐

  • 猜你可能想看的VPS


    转载请注明原文地址:http://140.238.13.167:12355/read-157538.html

    下一篇       上一篇