可以防暴力破解網頁密碼的程式(PHP)

<?
//##############################################
// 防暴力攻擊網頁密碼的程式     created by wilson    Date :2002/11/16    
//mail : wilson@powen.adsldns.org
//##############################################
//檢查記錄檔i是否存在以判斷是否為同一人
//
$dir_path="/usr/local/apache/htdocs/crack_detect/tmp";
if(!(file_exists("$dir_path/ii")))
{
        if(!($file = fopen("$dir_path/ii","w+")))
        {
                echo ("false");
        }
        else
        {
                fputs($file,"1");
                fclose($file);
        }
}
$time=time();                             //取得時間
$ip = getenv ("REMOTE_ADDR");             //取得使用者ip
//
//判斷是否為拒絕存取名單中的人
//
if((file_exists("$dir_path/$ip")))
{
        echo "
<body bgcolor=\"#000000\">
<br><br><br>
<p align=\"center\"><font color=\"#00FFFF\">禁止攻擊者存取網頁!!</font></p>
<p align=\"center\"><font color=\"#00FFFF\">攻擊者</font><font color=\"#00FFFF\">IP為 $ip</font></p>
<p align=\"center\"><font color=\"#00FFFF\">系統管理員已掌握您的相關資訊,請盡速與管理員聯絡!!</font></p>
<p align=\"center\"><font color=\"#00FFFF\">mail to:<a href=\"mailto:wilson@www.cju.edu.tw\"></a></font><a href=\"mailto:wilson@www.cju.edu.tw\"><font color=\"#00FFFF\">wilson@www.cju.edu.tw</font></a></p>
";
        exit;
}
if(!($file = fopen("$dir_path/check_ip","r")))
{
        echo ("false_1!!");
}
else
{
        $ip_c=fread($file,15);
        fclose($file);
}

if(!($file = fopen("$dir_path/check_time","r")))
{
        echo ("false!!");
}
else
{
        $time_c=fread($file,15);
        fclose($file);
}
//
//如果使用者是同一人且存取時間差小於2秒就提出警告並計錄警告次數
//
$qqq= $time-$time_c;           //計算系統上次被存取時間和現在時間差
if ($ip_c=$ip && $qqq < 2)
{
        if(!($file = fopen("$dir_path/ii","r")))
        {
                 echo ("false!!");
        }
        else
        {
                $i = fread($file,3);
        }
        if ($i > 5)                  //如果在兩秒內被警告5次以上就判定為攻擊行為
        {
                if(!($file = fopen("$dir_path/$ip","w+")))         //將最後存取系統的使用者資料更新
                {
                        echo ("false");
                }
                else
                {
                        fputs($file,"$ip");
                        fclose($file);
                }
                echo "
<body bgcolor=\"#000000\">
<p align=\"center\"><font color=\"#00FFFF\">嚴禁攻擊系統行為!!你的IP($ip)已被系統列入拒絕存取名單中,請和系統管理者聯絡!!</font></p>";
                unlink("$dir_path/ii");    //重新記錄攻擊記錄
                mail("wilson@www.cju.edu.tw","Web Was Atacked!!","The Ann in CJU WEB was atacked!!");   //通知管理者
                exit;
        }
        else
                $i=$i+1;
        if(!($file = fopen("$dir_path/ii","w+")))
        {
                echo ("false");
        }
        else
        {
                fputs($file,"$i");
                fclose($file);
        }
        echo "<CENTER><BR><BR><BR><BR><BR>嚴禁攻擊系統行為!!你的IP($ip)將被記錄下來!!<br>如果您是正當用戶請稍待2秒後再送出</CENTER>";
        exit;
}
else
{
        if(!($file = fopen("$dir_path/check_ip","w+")))         //將最後存取系統的使用者資料更新
        {
                echo ("false");
        }
        else
        {
                fputs($file,"$ip");
                fclose($file);
                unlink("$dir_path/ii");
        }

        if(!($file = fopen("$dir_path/check_time","w+")))
        {
                echo ("false");
        }
        else
        {
                fputs($file,"$time");
                fclose($file);
        }
}
?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值