国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

php網站防止刷流量攻擊方法

2024-04-25 20:36:59
字體:
來源:轉載
供稿:網友

流量攻擊是一種比較初級的網站攻擊方法,就是不停的去刷樣網站,導致服務器處理不過來或數據庫負載不了,導致網站無法正常方法的一種攻擊手段了,下面我來介紹一個利用php防網站刷流量攻擊方法.

php網站防止刷流量攻擊方法實例代碼如下:

代碼如下:

<?php

//查詢禁止IP

$ip =$_SERVER['REMOTE_ADDR'];

$fileht=".htaccess2";

if(!file_exists($fileht))file_put_contents($fileht,"");

$filehtarr=@file($fileht);

if(in_array($ip."rn",$filehtarr))die("Warning:"."<br>"."Your IP address are forbided by some reason, IF you have any question Pls emill to shop@mydalle.com!");

//加入禁止IP

$time=time();

$fileforbid="log/forbidchk.dat";

if(file_exists($fileforbid))

{ if($time-filemtime($fileforbid)>60)unlink($fileforbid);

else{

$fileforbidarr=@file($fileforbid);

if($ip==substr($fileforbidarr[0],0,strlen($ip)))

{

if($time-substr($fileforbidarr[1],0,strlen($time))>600)unlink($fileforbid);

elseif($fileforbidarr[2]>600){file_put_contents($fileht,$ip."rn",FILE_APPEND);unlink($fileforbid);}

else{$fileforbidarr[2]++;file_put_contents($fileforbid,$fileforbidarr);}

}

}

}

//防刷新

$str="";

$file="log/ipdate.dat";

if(!file_exists("log")&&!is_dir("log"))mkdir("log",0777);

if(!file_exists($file))file_put_contents($file,"");

$allowTime = 120;//防刷新時間

$allowNum=10;//防刷新次數

$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."1rn";

elseif($numtem<$allowNum)$str.=$iptem.$uritem.$timetem.($numtem+1)."rn";

else

{

if(!file_exists($fileforbid)){$addforbidarr=array($ip."rn",time()."rn",1);file_put_contents($fileforbid,$addforbidarr);}

file_put_contents("log/forbided_ip.log",$ip."--".date("Y-m-d H:i:s",time())."--".$uri."rn",FILE_APPEND);

$timepass=$timetem+$allowTime-$time;

die("Warning:"."<br>"."Sorry,you are forbided by refreshing frequently too much, Pls wait for ".$timepass." seconds to continue!");

}//開源代碼phpfensi.com

}

}

}

if($yesno) $str.=$checkip.$checkuri.$time."1rn";

file_put_contents($file,$str);

?>

利用session 跟蹤防post提交,代碼如下:

代碼如下:

<?php

session_start();

$clean = array();

$email_pattern = '/^[^@s<&>]+@([-a-z0-9]+.)+[a-z]{2,}$/i';

if (preg_match($email_pattern, $_POST['email']))

{

$clean['email'] = $_POST['email'];

$user = $_SESSION['user'];

$new_password = md5(uniqid(rand(), TRUE));

if ($_SESSION['verified'])

{

/* Update Password */

mail($clean['email'], 'Your New Password', $new_password);

}

}

?>

 

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 遵义县| 辽阳县| 西乡县| 株洲县| 康马县| 张家港市| 张掖市| 日喀则市| 逊克县| 龙南县| 滨海县| 潞西市| 井冈山市| 遵义县| 保山市| 庆阳市| 石河子市| 玉田县| 新民市| 沁源县| 庆城县| 江陵县| 江油市| 社旗县| 交城县| 孝感市| 聂拉木县| 巨鹿县| 嘉兴市| 沾益县| 隆昌县| 虎林市| 福鼎市| 集安市| 古蔺县| 南丰县| 东乡族自治县| 开平市| 和静县| 阳曲县| 安庆市|