Maison > base de données > tutoriel mysql > le corps du texte

Comment restreindre l'accès à une certaine IP en php

怪我咯
Libérer: 2017-07-11 16:39:54
original
2849 Les gens l'ont consulté

Dans le processus de définition des autorisations d'accès aux fichiers partagés LAN, nous devrons parfois gérer les fichiers partagés gestion de la sécurité et interdire à une certaine adresse IP d'accéder aux fichiers partagés LAN ou à un certain ordinateur d'accéder au serveur . Partagez des fichiers. Cet aspect peut être obtenu en définissant les autorisations d'accès des utilisateurs aux dossiers partagés. Par exemple, nous pouvons interdire à un utilisateur d'accéder aux dossiers partagés, mais il est possible que d'autres révèlent aux visiteurs les utilisateurs disposant des autorisations nécessaires pour accéder aux fichiers partagés, permettant ainsi aux visiteurs d'en profiter. d'autres comptes peuvent également accéder aux fichiers partagés. Ainsi, dans ce cas, nous pouvons empêcher l'ordinateur spécifié d'accéder au dossier partagé via les méthodes suivantes.

Cet article présente principalement la méthode de restriction de l'accès IP en PHP, impliquant les compétences opérationnelles associées de PHP telles que l'obtention, l'analyse, la traversée et l'évaluation des adresses IP des clients. Les amis dans le besoin peuvent s'y référer

. L'exemple de cet article décrit la méthode de restriction de l'accès IP en PHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

//获取客户端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参数拆分成数组
if(!in_array($ip,$ALLOWED_IP)) {
  $bl=false;
  foreach ($ALLOWED_IP as $val){
    if(strpos($val,'*')!==false){
      //发现有*号替代符
      $arr=array();
      $arr=explode('.', $val);
      $bl=true;
      //用于记录循环检测中是否有匹配成功的
      for ($i=0;$i<4;$i++){
        if($arr[$i]!=&#39;*&#39;){
          //不等于* 就要进来检测,如果为*符号替代符就不检查
          if($arr[$i]!=$check_ip_arr[$i]){
            $bl=false;
            break;
            //终止检查本个ip 继续检查下一个ip
          }
        }
      }
      //end for
      if($bl){
        //如果是true则终止匹配
        break;
      }
    }
  }
  //end foreach
  if(!$bl){
    $return=array(
       &#39;status&#39;=>2,
       &#39;msg&#39;=>&#39;该IP无权限访问&#39;,
       &#39;data&#39;=>$ip
       );
    echo json_encode($return);
    exit();
  }
}
Copier après la connexion


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!