• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php防止网站被攻击的应急代码_php实例

php 搞代码 3年前 (2022-01-25) 17次浏览 已收录 0个评论

前不久一个网站竟然被攻击,数据库被刷掉了,幸好客户机器上有数据库备份。遇到这么严重的问题,必须抓紧找出漏洞,防止再次被攻击。各方面检查之后发现除了服务器需要设置正确之外,其他无从下手,只好从ip地址上来解决这种攻击的问题。

如果发现某个ip访问网站太频繁了就加入到黑名单禁止访问,这不是一个很好的办法,但情急之下向不更好的解决方式,只是权宜之计,以后再进行深入的研究一下。

这个方法总结为一句话就是:通过禁止IP频繁访问防止网站被防攻击

30){     @unlink($fileforbid);   }else{     $fileforbidarr=@file($fileforbid);     if($ip==substr($fileforbidarr[0],0,strlen($ip))){       if($time-substr($fileforbidarr[1],0,strlen($time))>120){         @unlink($fileforbid);       }else if($fileforbidarr[2]>$allowRefresh){         file_put_contents($fileht,$ip."\r\n",FILE_APPEND);         @unlink($fileforbid);       }else{         $fileforbidarr[2]++;         file_put_contents($fileforbid,$fileforbidarr);       }     }   } } //防刷新 $str=''; $file=$logFilePath.'ipdate.dat'; if(!file_exists($logFilePath)&&!is_dir($logFilePath)){   mkdir($logFilePath,0777); } if(!file_exists($file)){   file_put_contents($file,''); } $uri=$_SERVER['REQUEST_URI'];//获取当前访问的网页文件地址 $checkip=md5($ip); $checkuri=md5($uri); $yesno=true; $ipdate=@file($file); foreach($ipdate as $k=>$v){   $iptem=substr($v,0,32);   $uritem=substr($v,32,32);   $timetem=substr($v,64,10);   $numtem=substr($v,74);   if($time-$timetem<$allowtime){     if($iptem!=$checkip){       $str.=$v;     }else{       $yesno=false;       if($uritem!=$checkuri){         $str.=$iptem.$checkuri.$time."\r\n";       }else if($numtem<$allownum){         $str.=$iptem.$uritem.$timetem.($numtem+1)."\r\n";       }       else{         if(!file_exists($fileforbid)){           $addforbidarr=array($ip."\r\n",time()."\r\n",1);           file_put_contents($fileforbid,$addforbidarr);         }         file_put_contents($logFilePath.'forbided_ip.log',$ip.'--'.date('Y-m-d H:<p style="color:transparent">2本文来源gao!daima.com搞$代!码网</p><span>搞代gaodaima码</span>i:s',time()).'--'.$uri."\r\n",FILE_APPEND);         $timepass=$timetem+$allowtime-$time;         exit('警告:不要刷新的太频繁!');       }     }   } } if($yesno){   $str.=$checkip.$checkuri.$time."\r\n"; } file_put_contents($file,$str); 

以上就是本文的全部内容,希望对大家学习有所帮助。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php防止网站被攻击的应急代码_php实例
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址