联系电话:0755-27515592
最新动态:

PHP教程

你的位置: 首页>>智慧亿恩>>PHP教程

php防止网站被攻击办法

点击数:12012015-07-19 17:55:26 来源: 外贸网站建设,深圳外贸网站建设,深圳网站建设,外贸商城网站制作-亿恩科技

新闻摘要:最近网站经常被攻击,后来想到了一个利用php来防止网站受攻击的办法,下面是我的代码,代码不是最好的,根据自己的需求来做,下面来看看我的代码. /* *网站防ip攻击代码(anti-ipattackcodewe

最近网站经常被攻击,后来想到了一个利用php来防止网站受攻击的办法,下面是我的代码,代码不是最好的,根据自己的需求来做,下面来看看我的代码.

  1. /*  
  2. *网站防ip攻击代码(anti-ip attack code website)2010-11-20,ver2.0  
  3. *mydalle.com anti-refresh mechanism  
  4. *design by www.vcphp.com 
  5. */ 
  6.  
  7.  
  8. //查询禁止ip  
  9. $ip =$_server['remote_addr'];  
  10. $fileht=".htaccess2";  
  11. if(!file_exists($fileht))file_put_contents($fileht,"");  
  12. $filehtarr=@file($fileht);  
  13. if(in_array($ip."rn",$filehtarr))die("warning:"."
    "
    ."your ip address are forbided by mydalle.com anti-refresh mechanism, if you have any question pls emill to shop@mydalle.com!
    (mydalle.com anti-refresh mechanism is to enable users to have a good shipping services, but there maybe some inevitable network problems in your ip address, so that you can mail to us to solve.)"
    ); 
  14.  
  15. //加入禁止ip  
  16. $time=time();  
  17. $fileforbid="log/forbidchk.dat";  
  18. if(file_exists($fileforbid))  
  19. if($time-filemtime($fileforbid)>30)unlink($fileforbid);  
  20. else{  
  21. $fileforbidarr=@file($fileforbid);  
  22. if($ip==substr($fileforbidarr[0],0,strlen($ip)))  
  23. {  
  24. if($time-substr($fileforbidarr[1],0,strlen($time))>120)unlink($fileforbid);  
  25. elseif($fileforbidarr[2]>120){file_put_contents($fileht,$ip."rn",file_append);unlink($fileforbid);}  
  26. else{$fileforbidarr[2]++;file_put_contents($fileforbid,$fileforbidarr);}  
  27. }  
  28. }  
  29. }  
  30. //防刷新  
  31. $str="";  
  32. $file="log/ipdate.dat";  
  33. if(!file_exists("log")&&!is_dir("log"))mkdir("log",0777);  
  34. if(!file_exists($file))file_put_contents($file,"");  
  35. $allowtime = 60;//防刷新时间  
  36. $allownum=5;//防刷新次数  
  37. $uri=$_server['request_uri'];  
  38. $checkip=md5($ip);  
  39. $checkuri=md5($uri);  
  40. $yesno=true;  
  41. $ipdate=@file($file);  
  42. foreach($ipdate as $k=>$v)  
  43. $iptem=substr($v,0,32);  
  44. $uritem=substr($v,32,32);  
  45. $timetem=substr($v,64,10);  
  46. $numtem=substr($v,74);  
  47. if($time-$timetem<$allowtime){  
  48. if($iptem!=$checkip)$str.=$v;  
  49. else{  
  50. $yesno=false;  
  51. if($uritem!=$checkuri)$str.=$iptem.$checkuri.$time."1rn";  
  52. elseif($numtem<$allownum)$str.=$iptem.$uritem.$timetem.($numtem+1)."rn";  
  53. else  
  54. {  
  55. if(!file_exists($fileforbid)){$addforbidarr=array($ip."rn",time()."rn",1);file_put_contents($fileforbid,$addforbidarr);}  
  56. file_put_contents("log/forbided_ip.log",$ip."--".date("y-m-d h:i:s",time())."--".$uri."rn",file_append);  
  57. $timepass=$timetem+$allowtime-$time;  
  58. die("warning:"."
    "
    ."pls don't refresh too frequently, and wait for ".$timepass." seconds to continue, if not your ip address will be forbided automatic by mydalle.com anti-refresh mechanism!
    (mydalle.com anti-refresh mechanism is to enable users to have a good shipping services, but there maybe some inevitable network problems in your ip address, so that you can mail to us to solve.)"
    );  
  59. //开源代码vcphp.com 
  60. }  
  61. }  
  62. }  
  63. if($yesno$str.=$checkip.$checkuri.$time."1rn";  
  64. file_put_contents($file,$str);  
  65. ?> 
  66.  
【责任编辑:(Top) 返回页面顶端
贴心
全国7×24小时客服热线
安全
病毒杀除率高于99%
稳定
网站可用性高于99.9%
实力
服务68家上市企业及集团公司
亿恩科技手机站
关注亿恩科技微信

亿恩科技—企业信息化一站式服务专家


Copyright © 2008- 深圳市亿恩科技有限公司版权所有 粤ICP备15056041号

联系我们 | 常见问题 | 在线留言 | 支付方式 | 软件开发 | 我的观点 | 资质荣誉 | 服务流程