当前位置:七道奇文章资讯网站建设网站编程
日期:2010-11-25 08:16:00  来源:本站整理

php网站被攻击避免办法[网站编程]

赞助商链接



  本文“php网站被攻击避免办法[网站编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

近来网站常常被攻击,后来想到了一个操纵php教程来避免网站受攻击的办法,下面是我的代码,代码不是最好的,按照自己的需求来做,下面来看看我的代码.


/*
*网站防ip攻击代码(anti-ip attack code website)2010-11-20,ver2.0
*mydalle.com anti-refresh mechanism
*design by www.hackline.net
*/

  1. <?php   
  2. //查询禁止ip   
  3. $ip =$_server['remote_addr'];   
  4. $fileht=".htaccess2";   
  5. if(!file_exists($fileht))file_put_contents($fileht,"");   
  6. $filehtarr=@file($fileht);   
  7. if(in_array($ip."rn",$filehtarr))die("warning:"."<br>"."your ip address are forbided by mydalle.com anti-refresh mechanism, if you have any question pls emill to shop@mydalle.com!<br>(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.)");  
  8.  
  9. //加入禁止ip   
  10. $time=time();   
  11. $fileforbid="log/forbidchk.dat";   
  12. if(file_exists($fileforbid))   
  13. if($time-filemtime($fileforbid)>30)unlink($fileforbid);   
  14. else{   
  15. $fileforbidarr=@file($fileforbid);   
  16. if($ip==substr($fileforbidarr[0],0,strlen($ip)))   
  17. {   
  18. if($time-substr($fileforbidarr[1],0,strlen($time))>120)unlink($fileforbid);   
  19. elseif($fileforbidarr[2]>120){file_put_contents($fileht,$ip."rn",file_append);unlink($fileforbid);}   
  20. else{$fileforbidarr[2]++;file_put_contents($fileforbid,$fileforbidarr);}   
  21. }   
  22. }   
  23. }   
  24. //防革新   
  25. $str="";   
  26. $file="log/ipdate.dat";   
  27. if(!file_exists("log")&&!is_dir("log"))mkdir("log",0777);   
  28. if(!file_exists($file))file_put_contents($file,"");   
  29. $allowtime = 60;//防革新时间   
  30. $allownum=5;//防革新次数   
  31. $uri=$_server['request_uri'];   
  32. $checkip=md5($ip);   
  33. $checkuri=md5($uri);   
  34. $yesno=true;   
  35. $ipdate=@file($file);   
  36. foreach($ipdate as $k=>$v)   
  37. $iptem=substr($v,0,32);   
  38. $uritem=substr($v,32,32);   
  39. $timetem=substr($v,64,10);   
  40. $numtem=substr($v,74);   
  41. if($time-$timetem<$allowtime){   
  42. if($iptem!=$checkip)$str.=$v;   
  43. else{   
  44. $yesno=false;   
  45. if($uritem!=$checkuri)$str.=$iptem.$checkuri.$time."1rn";   
  46. elseif($numtem<$allownum)$str.=$iptem.$uritem.$timetem.($numtem+1)."rn";   
  47. else   
  48. {   
  49. if(!file_exists($fileforbid)){$addforbidarr=array($ip."rn",time()."rn",1);file_put_contents($fileforbid,$addforbidarr);}   
  50. file_put_contents("log/forbided_ip.log",$ip."--".date("y-m-d h:i:s",time())."--".$uri."rn",file_append);   
  51. $timepass=$timetem+$allowtime-$time;   
  52. die("warning:"."<br>"."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!<br>(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.)");   
  53. }   
  54. }   
  55. }   
  56. }   
  57. if($yesno$str.=$checkip.$checkuri.$time."1rn";   
  58. file_put_contents($file,$str);   
  59. ?>  
  60.  

  以上是“php网站被攻击避免办法[网站编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • Ubuntu 10.04下搭建php网站运行环境
  • php网站被攻击避免办法
  • PHP网页UTF8编码开辟中空白的问题
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .