Home >Database >Mysql Tutorial >How to restrict access to a certain IP in php

How to restrict access to a certain IP in php

怪我咯
怪我咯Original
2017-07-11 16:39:542887browse

In the process of setting the access permissions for LAN shared files, sometimes we will be in need of shared file management Security management and prohibit a certain IP address from accessing LAN shared files or a certain computer from accessing the server. shared documents. This aspect can be achieved by setting user access permissions for shared folders. For example, we can prohibit a user from accessing shared folders, but it is possible that others will reveal users with permissions to access shared files to visitors, allowing visitors to take advantage of Other accounts can also access shared files. So, in this case, we can prevent the specified computer from accessing the shared folder through the following methods.

This article mainly introduces the method of restricting IP access in PHP, involving PHP's related operation skills such as obtaining, parsing, traversing, and judging client IPs. Friends in need can refer to it

The example in this article describes the method of restricting IP access in PHP. Share it with everyone for your reference, the details are as follows:

//获取客户端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();
  }
}


The above is the detailed content of How to restrict access to a certain IP in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn