溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php怎樣弄禁止ip訪問

發(fā)布時間:2020-11-05 09:39:24 來源:億速云 閱讀:111 作者:小新 欄目:編程語言

這篇文章主要介紹php怎樣弄禁止ip訪問,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

php實現(xiàn)禁止ip訪問的方法:首先獲取客戶端ip,ip參數(shù)拆分成數(shù)組;然后記錄循環(huán)檢測中是否有匹配成功,如果為【*】符號替代符就不檢查,終止檢查本個ip。

php實現(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)有*號替代符
      $arr=array();
      $arr=explode('.', $val);
      $bl=true;
      //用于記錄循環(huán)檢測中是否有匹配成功的
      for ($i=0;$i<4;$i++){
        if($arr[$i]!='*'){
          //不等于* 就要進來檢測,如果為*符號替代符就不檢查
          if($arr[$i]!=$check_ip_arr[$i]){
            $bl=false;
            break;
            //終止檢查本個ip 繼續(xù)檢查下一個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)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI