网站限制某些ip访问,仅允许指定ip地址访问

  把下面的代码直接贴在index.php的开头即可。前提必须是在里才有效

  代码:

  function getIP() {

  return

isset($_SERVER["HTTP_X_FORWARDED_FOR"])?$_SERVER["HTTP_X_FORWARDED_FOR"]

  :(isset($_SERVER["HTTP_CLIENT_IP"])?$_SERVER["HTTP_CLIENT_IP"]

  :$_SERVER["REMOTE_ADDR"]);

  }

  function check_ip(){

  $ALLOWED_IP=array('127.0.0.1');//允许访问的ip地址

  $IP=getIP();

  $check_ip_arr= explode('.',$IP);//要检测的ip拆分成数组

  #限制IP

  if(!in_array($IP,$ALLOWED_IP)) {

  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]!='*'){//不等于* 

就要进来检测,如果为*符号替代符就不检查

  if($arr[$i]!=$check_ip_arr[$i]){

  $bl=false;

  break;//终止检查本个ip 继续检查下一个ip

  }

  }

  }//end for

  if($bl){//如果是true则找到有一个匹配成功的就返回

  return;

  die;

  }

  }

  }//end foreach

  header('HTTP/1.1 403 Forbidden');

  echo "Access forbidden";

  die;

  }

  }

  check_ip();

  把上面的代码直接贴在index.php的开头即可。前提必须是在里才有效

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容