怎样限制IP? 检测客户端IP判断是否属于ban掉的ip(从禁止IP表里判断)返回true则定向到403页面 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 将限制的IP存进数据库或以文件存放,用户登录你的BBS的时候,检测被限制IP表或文件里是否有该IP,有则进行跳转或输出信息 可以直接读出访问者的IP和存在数据库的数据比一下。。如果复杂一点可以采用部分匹配的方式,就可以限制IP段了 <?/*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数据表");插入新的禁用IPif($c->InsertIp("127.0.0.*") == false){ echo "cannot insert Ip!!"; exit;}删除禁用IP$c->DeleteIp("127.0.0.*");检测IPif($c->Check("127.0.0.1")){ echo "your can not pass"; exit;}禁用IP格式单ip: 127.0.0.1IP段: 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; } }?> php 传值 仅以此贴来广泛收集php的便捷写法,,收集~~~~~~ php编写一个简单的用户登录功能的网站 mysql查询数据 php伪静态 如何用php写一个mysql自动备份的功能? ADODB数据类,能否连接SQlite数据库 菜鸟求教.....php 如何在客户调用接口判断域名或者Ip是否授权 求助大神大佬门。遇到一点PHP问题 怎么把时间格式化? 这个问题是不是php办不到了?用php+js实现图文新闻发布即见即得,图片实时上传实时显示到编辑窗口。
如果复杂一点可以采用部分匹配的方式,就可以限制IP段了
/*
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.1IP段: 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;
}
}
?>