麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > PHP > 正文

php防止網(wǎng)站被攻擊的應急代碼

2024-05-04 23:39:45
字體:
供稿:網(wǎng)友

這篇文章為大家提供了php防止網(wǎng)站被攻擊的應急代碼,這是一個辦法,絕對不是最好的解決方式,只是想提供給大家,大家一起探討探討。

前不久一個網(wǎng)站竟然被攻擊,數(shù)據(jù)庫被刷掉了,幸好客戶機器上有數(shù)據(jù)庫備份。遇到這么嚴重的問題,必須抓緊找出漏洞,防止再次被攻擊。各方面檢查之后發(fā)現(xiàn)除了服務器需要設(shè)置正確之外,其他無從下手,只好從ip地址上來解決這種攻擊的問題。

如果發(fā)現(xiàn)某個ip訪問網(wǎng)站太頻繁了就加入到黑名單禁止訪問,這不是一個很好的辦法,但情急之下向不更好的解決方式,只是權(quán)宜之計,以后再進行深入的研究一下。

這個方法總結(jié)為一句話就是:通過禁止IP頻繁訪問防止網(wǎng)站被防攻擊。

 

 
  1. <?php  
  2. header('Content-type: text/html; charset=utf-8');  
  3. $ip=$_SERVER['REMOTE_ADDR'];//獲取當前訪問者的ip  
  4. $logFilePath='./log/';//日志記錄文件保存目錄  
  5. $fileht='.htaccess2';//被禁止的ip記錄文件  
  6. $allowtime=60;//防刷新時間  
  7. $allownum=5;//防刷新次數(shù)  
  8. $allowRefresh=120;//在允許刷新次數(shù)之后加入禁止ip文件中  
  9.  
  10. if(!file_exists($fileht)){  
  11. file_put_contents($fileht,'');  
  12. }  
  13. $filehtarr=@file($fileht);  
  14. if(in_array($ip."/r/n",$filehtarr)){  
  15. exit('警告:你的IP已經(jīng)被禁止了!');  
  16. }  
  17. //加入禁止ip  
  18. $time=time();  
  19. $fileforbid=$logFilePath.'forbidchk.dat';  
  20. if(file_exists($fileforbid)){  
  21. if($time-filemtime($fileforbid)>30){  
  22. @unlink($fileforbid);  
  23. }else{  
  24. $fileforbidarr=@file($fileforbid);  
  25. if($ip==substr($fileforbidarr[0],0,strlen($ip))){  
  26. if($time-substr($fileforbidarr[1],0,strlen($time))>120){  
  27. @unlink($fileforbid);  
  28. }else if($fileforbidarr[2]>$allowRefresh){  
  29. file_put_contents($fileht,$ip."/r/n",FILE_APPEND);  
  30. @unlink($fileforbid);  
  31. }else{  
  32. $fileforbidarr[2]++;  
  33. file_put_contents($fileforbid,$fileforbidarr);  
  34. }  
  35. }  
  36. }  
  37. }  
  38. //防刷新  
  39. $str='';  
  40. $file=$logFilePath.'ipdate.dat';  
  41. if(!file_exists($logFilePath)&&!is_dir($logFilePath)){  
  42. mkdir($logFilePath,0777);  
  43. }  
  44. if(!file_exists($file)){  
  45. file_put_contents($file,'');  
  46. }  
  47. $uri=$_SERVER['REQUEST_URI'];//獲取當前訪問的網(wǎng)頁文件地址  
  48. $checkip=md5($ip);  
  49. $checkuri=md5($uri);  
  50. $yesno=true;  
  51. $ipdate=@file($file);  
  52. foreach($ipdate as $k=>$v){  
  53. $iptem=substr($v,0,32);  
  54. $uritem=substr($v,32,32);  
  55. $timetem=substr($v,64,10);  
  56. $numtem=substr($v,74);  
  57. if($time-$timetem<$allowtime){  
  58. if($iptem!=$checkip){  
  59. $str.=$v;  
  60. }else{  
  61. $yesno=false;  
  62. if($uritem!=$checkuri){  
  63. $str.=$iptem.$checkuri.$time."/r/n";  
  64. }else if($numtem<$allownum){  
  65. $str.=$iptem.$uritem.$timetem.($numtem+1)."/r/n";  
  66. }  
  67. else{  
  68. if(!file_exists($fileforbid)){  
  69. $addforbidarr=array($ip."/r/n",time()."/r/n",1);  
  70. file_put_contents($fileforbid,$addforbidarr);  
  71. }  
  72. file_put_contents($logFilePath.'forbided_ip.log',$ip.'--'.date('Y-m-d H:i:s',time()).'--'.$uri."/r/n",FILE_APPEND);  
  73. $timepass=$timetem+$allowtime-$time;  
  74. exit('警告:不要刷新的太頻繁!');  
  75. }  
  76. }  
  77. }  
  78. }  
  79. if($yesno){  
  80. $str.=$checkip.$checkuri.$time."/r/n";  
  81. }  
  82. file_put_contents($file,$str);  

以上就是本文的全部內(nèi)容,希望對大家學習有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产三级精品最新在线 | 成人在线免费视频播放 | 99影视电影电视剧在线播放 | 中文字幕免费看 | 一区二区三区日韩电影 | 在线成人免费av | 特级毛片全部免费播放器 | 成年免费看 | 狠狠干精品视频 | 最新亚洲视频 | 免费观看又色又爽又黄的崩锅 | 激情亚洲一区二区三区 | 日本在线不卡免费 | 久久久视频免费观看 | 国产欧美在线观看不卡一 | 99激情| 日本在线免费观看视频 | 欧美一级成人一区二区三区 | h视频免费观看 | 国产精品爆操 | 黑人日比视频 | 日日狠狠久久偷偷四色综合免费 | 亚洲欧美在线视频免费 | 日韩视频在线观看免费 | 男女羞羞在线观看 | 久久一本日日摸夜夜添 | 污污的视频在线观看 | 主播粉嫩国产在线精品 | 加勒比综合 | 国色天香综合网 | 久久久久久亚洲综合影院红桃 | xxx日本视频 | 性少妇chinesevideo| 久久精品国产亚洲7777 | 精品中文字幕久久久久四十五十骆 | 午夜视频久久久 | 久久老司机精品视频 | 亚洲国产成人久久一区www妖精 | 欧美精品一区二区三区在线 | av电影在线免费 | 中文字幕在线播放视频 |