CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  PHP

怎样限制IP?

楼主linuxpig()2003-11-01 22:39:25 在 Web 开发 / PHP 提问

我用PHP作了一个BBS怎样才能限制某些IP能用而在IP限制里的不能用?  
   
   
   
  礼!  
   
                                                    谢谢 问题点数:0、回复次数:6Top

1 楼minghui000(沉迷网络游戏)回复于 2003-11-02 00:01:44 得分 0

upTop

2 楼xiahouwen(武眉博<活靶子.NET>)回复于 2003-11-02 00:35:38 得分 0

检测客户端IP  
  判断是否属于ban掉的ip(从禁止IP表里判断)  
  返回true则定向到  
  403页面Top

3 楼eagle_gui(凉开水@www.dd16.net)回复于 2003-11-02 12:45:12 得分 0

将限制的IP存进数据库或以文件存放,  
   
  用户登录你的BBS的时候,检测被限制IP表或文件里是否有该IP,有则进行跳转或输出信息Top

4 楼yueok(悦)回复于 2003-11-02 12:47:33 得分 0

可以直接读出访问者的IP。。。和存在数据库的数据比一下。。  
  如果复杂一点可以采用部分匹配的方式,就可以限制IP段了Top

5 楼qlyfe(邱)回复于 2003-11-02 12:58:39 得分 0

这样会不会增加服务器负担  
  说觉得每一次判断一下,不爽Top

6 楼hodat(华帝)回复于 2003-11-02 14:21:35 得分 0

<?  
  /*  
  MySQL   Table:  
   
  CREATE   TABLE   Use_Ip   (  
  Use_Ip   varchar(15)   Not   Null,  
  PRIMARY   KEY     (Use_Ip)  
  )   TYPE=MyISAM;  
   
   
  类使用方法:  
   
  新建对象  
  $c=new   CheckIp("MySQL主机","Mysql用户名","Mysql密码","Mysql数据库","Mysql数据表");  
   
  插入新的禁用IP  
  if($c->InsertIp("127.0.0.*")   ==   false){  
  echo   "cannot   insert   Ip!!";  
  exit;  
  }  
   
  删除禁用IP  
  $c->DeleteIp("127.0.0.*");  
   
  检测IP  
  if($c->Check("127.0.0.1")){  
  echo   "your   can   not   pass";  
  exit;  
  }  
   
  禁用IP格式  
   
  单ip:   127.0.0.1  
   
  IP段:   127.0.0.*  
              127.0.*.*  
              127.*.*.*  
               
  禁用所有Ip:   *.*.*.*  
   
  */  
   
  class   CheckIp   {  
  var   $MySQL_Host;  
  var   $MySQL_User;  
  var   $MySQL_Pass;  
  var   $MySQL_DB;  
  var   $MySQL_Table;  
  var   $CheckIP;  
  var   $conn;  
   
  function   CheckIp($M_h,$M_u,$M_p,$M_DB,$M_t){  
  $this->MySQL_Host   =   $M_h;  
  $this->MySQL_User   =   $M_u;  
  $this->MySQL_Pass   =   $M_p;  
  $this->MySQL_DB   =   $M_DB;  
  $this->MySQL_Table   =   $M_t;  
  $this->conn=mysql_connect($this->MySQL_Host,   $this->MySQL_User,   $this->MySQL_Pass);  
  if(!mysql_select_db($this->MySQL_DB,$this->conn))   $this->error(mysql_error());  
   
  }  
   
  function   InsertIp(   $M_ip   ){  
  $sql="INSERT   INTO   ".$this->MySQL_Table."   VALUES   (   '$M_ip'   )";  
  if(@mysql_query($sql,$this->conn)){  
  $this->error(mysql_error());  
    return   false;  
  }  
  return   true;  
  }  
   
  function   DeleteIp(   $M_ip   ){  
  $sql="DELETE   FROM   ".$this->MySQL_Table."   WHERE   Use_Ip='$M_ip'";  
  if(@mysql_query($sql,$this->conn)){  
  return   false;  
  }  
  return   true;  
  }  
   
  function   Check(   $c_ip   ){  
  $user_ip=$c_ip;  
  $u_i_array=explode(".",$user_ip);  
   
  $query="SELECT   *   FROM   ".$this->MySQL_Table;  
  $result=mysql_query($query,$this->conn);  
  $Check_Mask   =   0;  
  while($row=mysql_fetch_Array($result,$this->conn)){  
  $m_array=explode(".",$row[Use_Ip]);  
  if($m_array[3]==$u_i_array[3]   ||   $m_array[3]=="*"){  
  if($m_array[2]==$u_i_array[2]   ||   $m_array[2]=="*"){  
  if($m_array[1]==$u_i_array[1]   ||   $m_array[1]=="*"){  
  if($m_array[0]==$u_i_array[0]   ||   $m_array[0]=="*"){  
  $Check_Mask++;  
  break;  
  }  
  }  
  }  
  }  
  }  
  if($Check_Mask   >   0){  
  return   true;  
  }  
  return   false;  
  }  
   
  function   error(   $msg   ){  
  echo   $msg;  
  exit;  
  }  
   
  }  
  ?>Top

相关问题

  • IP限制
  • 怎样限制SQL只能被指定ip或本地访问?
  • 怎样限制某些IP访问我的网站?
  • 网站IP限制组件
  • ip限制问题,请教
  • 怎么限制interent共享的ip...
  • 求一个ip限制函数
  • ADSL上网如何限制某些IP
  • vsftpd+tcp_wrapper不能限制ip
  • weblogic 5 个IP 访问限制问题

关键词

  • mysql
  • ip
  • db
  • sql
  • 限制
  • checkip
  • conn
  • pass
  • host
  • error

得分解答快速导航

  • 帖主:linuxpig

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo