這篇文章主要介紹php怎樣弄禁止ip訪問,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)公司是一家專業(yè)提供印臺(tái)企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、H5網(wǎng)站設(shè)計(jì)、小程序制作等業(yè)務(wù)。10年已為印臺(tái)眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。
php實(shí)現(xiàn)禁止ip訪問的方法:首先獲取客戶端ip,ip參數(shù)拆分成數(shù)組;然后記錄循環(huán)檢測中是否有匹配成功,如果為【*】符號(hào)替代符就不檢查,終止檢查本個(gè)ip。
php實(shí)現(xiàn)禁止ip訪問的方法:
//獲取客戶端ip if (getenv("HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP"); else if(getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR"); else if(getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR"); else $ip = "Unknow"; $ALLOWED_IP=array('10.144.39.132'); //允許訪問的ip $check_ip_arr= explode('.',$ip); //ip參數(shù)拆分成數(shù)組 if(!in_array($ip,$ALLOWED_IP)) { $bl=false; foreach ($ALLOWED_IP as $val){ if(strpos($val,'*')!==false){ //發(fā)現(xiàn)有*號(hào)替代符 $arr=array(); $arr=explode('.', $val); $bl=true; //用于記錄循環(huán)檢測中是否有匹配成功的 for ($i=0;$i<4;$i++){ if($arr[$i]!='*'){ //不等于* 就要進(jìn)來檢測,如果為*符號(hào)替代符就不檢查 if($arr[$i]!=$check_ip_arr[$i]){ $bl=false; break; //終止檢查本個(gè)ip 繼續(xù)檢查下一個(gè)ip } } } //end for if($bl){ //如果是true則終止匹配 break; } } } //end foreach if(!$bl){ $return=array( 'status'=>2, 'msg'=>'該IP無權(quán)限訪問', 'data'=>$ip ); echo json_encode($return); exit(); } }
以上是php怎樣弄禁止ip訪問的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!