亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

php限制IP和IP段的代碼

2024-05-04 21:47:54
字體:
來源:轉載
供稿:網友

php限制IP段代碼是我在網上搜相關解決方法時搜到的,這個類的makePregIP函數邏輯有點問題,我修改了下可以使用了,這個類得功能是允許白名單中的IP地址訪問,如果要實現限制黑名單中的IP地址訪問,簡單修改下checkIP函數中的代碼邏輯就可以了.

使用方法,代碼如下:

  1. $allow_ip = array("192.168.1.1","210.10.2.1-20","222.34.4.*","127.0.0.1"); 
  2. $oBlock_ip = new allowIp($allow_ip); 
  3. if( !$oBlock_ip->checkIP() ){ 
  4.   echo '您的IP為:'
  5.   echo $oBlock_ip->ip; 
  6.   exit('禁止訪問'); 

allowIP類文件,代碼如下:

  1. class allowIp { 
  2.  
  3.     function __construct($allow_ip){ 
  4.         if (emptyempty($allow_ip)) { 
  5.           return false; 
  6.         } 
  7.         $this->allow_ip = $allow_ip
  8.         $this->ip = ''
  9.  
  10.     } 
  11.  
  12.     private function makePregIP($str
  13.     {   
  14.         if (strstr($str,"-")) { 
  15.  
  16.             $aIP = explode(".",$str); 
  17.  
  18.             foreach ($aIP as $k=>$v) { 
  19.                 if (!strstr($v,"-")) { 
  20.                     $preg_limit .= $this->makePregIP($v); 
  21.                     $preg_limit .= "."
  22.                 } else
  23.                     $aipNum = explode("-",$v); 
  24.                     for($i=$aipNum[0];$i<=$aipNum[1];$i++){ 
  25.                         $preg .=$preg?"|".$i:"[".$i
  26.                     } 
  27.                     $preg_limit .=strrpos($preg_limit,".",1)==(strlen($preg_limit)-1)?$preg."]":".".$preg."]"
  28.                 } 
  29.             } 
  30.         } 
  31.         else { 
  32.             $preg_limit = $str
  33.         } 
  34.  
  35.         return $preg_limit
  36.     } 
  37.  
  38.     private function getAllBlockIP(){ 
  39.         if ($this->allow_ip) { 
  40.             $i = 1; 
  41.             foreach ($this->allow_ip as $k=>$v) { 
  42.                 $ipaddres = $this->makePregIP($v); 
  43.  
  44.                 $ip = str_ireplace(".",".",$ipaddres); 
  45.                 $ip = str_replace("*","[0-9]{1,3}",$ip); 
  46.                 $ipaddres = "/".$ip."/"
  47.                 $ip_list[] = $ipaddres
  48.                 $i++; 
  49.             } 
  50.         } 
  51.         return $ip_list
  52.     } 
  53.  
  54.     public function checkIP() { 
  55.         $iptable = $this->getAllBlockIP(); 
  56.         $IsJoined = false; 
  57.         //取得用戶ip 
  58.         $Ip = $this->get_client_ip(); 
  59.         $Ip = trim($Ip); 
  60.         //在白名單中 
  61.         if ($iptable) { 
  62.             foreach($iptable as $value) { 
  63.                 if (preg_match("{$value}",$Ip)) { 
  64.                     $IsJoined = true; 
  65.                     break
  66.                 } 
  67.             } 
  68.         } 
  69.         //不在白名單中 
  70.         if( !$IsJoined ){ 
  71.             return false; 
  72.         } 
  73.         return true;   
  74.     } 
  75.  
  76.     private function get_client_ip(){ 
  77.         if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) 
  78.             $ip = getenv("HTTP_CLIENT_IP"); 
  79.         else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) 
  80.             $ip = getenv("HTTP_X_FORWARDED_FOR"); 
  81.         else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) 
  82.             $ip = getenv("REMOTE_ADDR"); 
  83.         else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) 
  84.             $ip = $_SERVER['REMOTE_ADDR']; 
  85.         else 
  86.             $ip = "unknown"
  87.         $this->ip = $ip
  88.         return($ip); 
  89.    } 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产精品网站| 国产91精品黑色丝袜高跟鞋| 亚洲色图第三页| 成人在线中文字幕| 97香蕉超级碰碰久久免费软件| 国产精品99蜜臀久久不卡二区| 亚洲国产婷婷香蕉久久久久久| 欧美一级淫片播放口| 欧美尺度大的性做爰视频| 久久精品久久久久| 国产在线拍揄自揄视频不卡99| 欧美影院在线播放| 亚洲人精选亚洲人成在线| 日韩av免费在线看| 日韩精品免费在线视频观看| 中文字幕视频一区二区在线有码| 午夜精品久久久久久久久久久久| 91精品久久久久久久久| 国产v综合ⅴ日韩v欧美大片| 91国内在线视频| 亚洲999一在线观看www| 久久久噜久噜久久综合| 日本高清视频一区| 欧洲美女7788成人免费视频| 国产亚洲视频中文字幕视频| 久久中文字幕在线视频| 国产精品久久久久免费a∨| 国产欧美精品va在线观看| 久久久久久久久久国产精品| 亚洲黄色成人网| 成人乱人伦精品视频在线观看| 亚洲人成免费电影| 国产成人精品久久二区二区| 日韩在线免费视频观看| 一个人看的www久久| 久久视频精品在线| 欧美中文字幕在线观看| 欧美伊久线香蕉线新在线| 91a在线视频| 欧美精品福利在线| 精品亚洲一区二区三区在线播放| 在线免费看av不卡| 久久五月天色综合| 美日韩精品免费观看视频| 成人黄色av网| 国产精品69久久久久| 久久久久久久久国产精品| 日韩精品视频观看| 欧美在线性视频| 中日韩午夜理伦电影免费| 亚洲**2019国产| 欧美一级高清免费| 亚洲娇小xxxx欧美娇小| 日韩精品在线第一页| 欧美xxxx14xxxxx性爽| 国内精品久久久久影院优| 亚洲xxxxx性| 欧美激情综合亚洲一二区| 亚洲成色777777在线观看影院| 欧美极品美女电影一区| 国产精品亚洲自拍| 亚洲国产成人精品电影| 久久久精品免费视频| 在线视频一区二区| 奇米一区二区三区四区久久| 韩剧1988免费观看全集| 亚洲伊人一本大道中文字幕| 国产精品影院在线观看| 国产欧美精品日韩精品| 另类美女黄大片| 伦伦影院午夜日韩欧美限制| 国产欧美在线看| 久久久久国色av免费观看性色| 97视频国产在线| 日韩成人中文字幕在线观看| 国产成人91久久精品| 亚洲三级 欧美三级| 国内外成人免费激情在线视频| 欧美亚洲激情视频| 性欧美激情精品| 亚洲色图13p| 日韩视频在线观看免费| 亚洲第一区在线观看| 国产丝袜一区二区三区免费视频| 久久亚洲精品毛片| 欧美亚洲激情视频| 综合136福利视频在线| 亚洲欧美日韩精品久久奇米色影视| 成人激情视频小说免费下载| 亚洲天堂av在线免费| 精品国产成人av| 国产精品视频久久久| 最近2019中文字幕mv免费看| 国产欧美久久久久久| 成人伊人精品色xxxx视频| 亚洲欧美日韩国产中文| 日韩高清不卡av| 成人黄色午夜影院| 69av视频在线播放| 亚洲欧美中文日韩v在线观看| 久久成年人视频| 亚洲美女精品久久| 不卡av电影在线观看| 日韩成人在线视频| 欧美激情一区二区三级高清视频| 欧美日韩电影在线观看| 精品动漫一区二区三区| 欧美电影免费观看高清完整| 亚洲自拍欧美色图| 欧美高清性猛交| 欧美专区在线视频| 亚洲国产天堂网精品网站| 日韩精品免费看| 久久视频在线免费观看| 亚洲精品一区av在线播放| 亚洲欧美精品一区| 毛片精品免费在线观看| 国产91网红主播在线观看| 深夜福利国产精品| 日韩午夜在线视频| 国精产品一区一区三区有限在线| 欧美xxxwww| 8050国产精品久久久久久| 成人激情视频在线观看| 亚洲精品电影网在线观看| 亚洲第一精品夜夜躁人人爽| 一区二区三区久久精品| 国产日韩欧美在线| 国产一区二区三区三区在线观看| 亚洲欧美激情一区| 国产精品女人久久久久久| 国产日韩欧美在线播放| 亚洲第一视频网站| 欧美在线视频a| 久久天天躁狠狠躁老女人| 亚洲日本欧美中文幕| 成人免费福利视频| 伊人青青综合网站| 国产精品永久免费在线| 日韩美女免费观看| 国产日本欧美视频| 综合国产在线视频| 国产精品女人久久久久久| 欧美在线视频在线播放完整版免费观看| 欧美精品中文字幕一区| 国产精品美女久久久免费| 久久精品国产欧美亚洲人人爽| 国产欧美精品va在线观看| 久久久亚洲国产天美传媒修理工| 人人做人人澡人人爽欧美| 97成人精品区在线播放| 日本国产高清不卡| 国内精品小视频| 精品视频在线导航| 亚洲无av在线中文字幕| 日韩网站在线观看| 国产福利精品视频| 国产欧美欧洲在线观看| 91高清免费视频| 国产精品激情自拍| 亚洲日本中文字幕免费在线不卡| 视频在线观看一区二区| 中文字幕亚洲无线码在线一区| 国产精品电影网站|