动网是ASP的呀,我要的是PHP的
解决方案 »
- mysql插入语句的问题
- 【高手请入】preg_replace()的回调,第二个参数为何要字符串嵌套?!
- 怎样取消tab键的切换功能
- javascript 中输出phpo数组
- 数组处理 ,高手帮下忙
- Eclipse 的一个问题:当将编辑器文件编码设置为UTF-8时,含有charset=gb2312的网页中文显示乱码,设置为其它时,无Content-Type的文件显
- include和include_once
- apache错误
- 请教高手一个问题和HTML有关
- 我是第一次到PHP来,想不到这里人气指数这么低;可悲可叹!!!!!!请大家关注一下我的贴子
- 谁能帮我写一个和自定义函数来统计注册会员总数的代码
- 我使用socket发送邮件,发现哪怕是几个字符,他的发送速度都是非常得慢,为什么?
建一資料表,存被封的IP地址
在要檢查的頁面中加入判斷:取得客戶的IP,看看是否在上面的資料表中
後台只要維護那個資料表就好了
<?php
$ipdog=file('ipdog.txt');
$error=0;
foreach($ipdog as $v){
if(strlen($v)==strlen($REMOTE_ADDR)){
if($v==$REMOTE_ADDR){
$error=1;
}
}else{
if($v==substr($REMOTE_ADDR,0,strlen($v))){
$error=1;
}
}
}
if($error==1){
include 'error.htm';
exit;
}
?>
error.htm<center>
<h1>出现错误!IP被禁止!</h1>
</center>
<li><h2>使用方法</h2>
<li>将要屏蔽的ip或ip段输入ipdog.txt,每条记录1行
<li>将ip被禁止时显示的页面内容写入error.htm
<li>在要控制访问ip的页面上开头加入<br>include 'ipdog.php';</br>即可
$host="localhost";
$name="root";
$pwd="你的密码";
$con=mysql_pconnect($host,$name,$pwd)or die(ERROE);
$ip=$_SERVER['REMOTE_ADDR'];
$sql="select * from db where ip='$ip'";
$result=mysql_query($sql);
$num=mysql_num_rows($result);
if(◎$num){header(Location:error.htm \n);
}
?>
在每个叶子里面include这个就行了
被禁止的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;
}
}
?>