明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

php 局限某個(gè)IP訪問的完成方法

[摘要]在設(shè)置局域網(wǎng)共享文件訪問權(quán)限的過程中,有時(shí)候我們會(huì)處于共享文件管理安全管理的需要,而禁止某個(gè)IP地址訪問局域網(wǎng)共享文件、禁止某臺(tái)電腦訪問服務(wù)器共享文件。這一方面可以通過設(shè)置共享文件夾的用戶訪問權(quán)限來...
在設(shè)置局域網(wǎng)共享文件訪問權(quán)限的過程中,有時(shí)候我們會(huì)處于共享文件管理安全管理的需要,而禁止某個(gè)IP地址訪問局域網(wǎng)共享文件、禁止某臺(tái)電腦訪問服務(wù)器共享文件。這一方面可以通過設(shè)置共享文件夾的用戶訪問權(quán)限來實(shí)現(xiàn),比如我們可以禁止某個(gè)用戶訪問共享文件夾,但是有可能別人會(huì)將有權(quán)限訪問共享文件的用戶透漏給訪問者,使得訪問者利用其它賬號(hào)同樣可以訪問共享文件。那么,這種情況下,我們可以通過以下方法來阻止指定電腦訪問共享文件夾。

這篇文章主要介紹了PHP實(shí)現(xiàn)限制IP訪問的方法,涉及php針對(duì)客戶端IP的獲取、解析、遍歷、判斷等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了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 限制某個(gè)IP訪問的實(shí)現(xiàn)方法的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門到精通的SQL知識(shí)。