php防止CC攻击代码 php防止网页频繁刷新
《PHP实例:php防止CC攻击代码 php防止网页频繁刷新》要点: PHP编程网页快速恶意刷新,cc攻击就是攻击者利用代理服务器生成指向目标站点的合法哀求,模拟多用户不停的对受害网站进行访问,特别是访问那些需要大量数据操作需要大量CUP时间的页面,最终导致目标网站服务器资源耗尽,一直到宕机崩溃,如此一来,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理不完的连接直至就网络拥塞,正常的访问被中止.我们称之为CC攻击.尽管我们可以借助于一些防攻击的软件来实现,不过效果有时并不明显. PHP编程下面我提供一段PHP的代码,可以起到一定的防CC攻击效果. PHP编程
<?php
$timestampcc = time();
$cc_nowtime = $timestampcc;
if(session_is_registered('cc_lasttime')){
$cc_lasttime = $_SESSION['cc_lasttime'];
$cc_times = $_SESSION['cc_times']+1;
$_SESSION['cc_times'] = $cc_times;
}else{
$cc_lasttime = $cc_nowtime;
$cc_times = 1;
$_SESSION['cc_times'] = $cc_times;
$_SESSION['cc_lasttime'] = $cc_lasttime;
}
if(($cc_nowtime-$cc_lasttime)<3){//3秒内刷新5次以上可能为cc攻击
if($cc_times>=5){
echo '刷新太快!';
exit;
}
}else{
$cc_times = 0;
$_SESSION['cc_lasttime'] = $cc_nowtime;
$_SESSION['cc_times'] = $cc_times;
}
?>
PHP编程下面是为大家整理的PHP防CC攻击的有效办法: PHP编程1.session记录 PHP编程3.IP绑定 PHP编程用户无意义的频繁跳转、哀求都会给服务器加重很多负担 其实 用cookie就可以防止这一点. PHP编程
<?php
error_reporting(0);
//if($_COOKIE["ck"])die("刷新过快!");
if($_COOKIE["ck"])header("Location:http://www.baidu.com");//这里如果用户刷新过快,给予终止php脚本或者直接302跳转
setcookie("ck","1",time()+3);//设定cookie存活时间3s
echo "hello!";
?>
PHP编程方式一: PHP编程
<?php
session_start();
$k=$_GET['k'];
$t=$_GET['t'];
$allowTime = 1800;//防刷新时间
$ip = get_client_ip();
$allowT = md5($ip.$k.$t);
if(!isset($_SESSION[$allowT]))
{
$refresh = true;
$_SESSION[$allowT] = time();
}elseif(time() - $_SESSION[$allowT]>$allowTime){
$refresh = true;
$_SESSION[$allowT] = time();
}else{
$refresh = false;
}
?>
PHP编程?方式二: PHP编程
<?
session_start();
if(!emptyempty($_POST[name])){
$data = $_POST[name];
$tag = $_POST[tag];
if($_SESSION[status]==$tag){
echo $data;
}else{
echo "不允许刷新!";
}
}
$v = mt_rand(1,10000);
?>
<form method="post" name="magic" action="f5.php"><input type="hidden"
name="tag" value="<?=$v?>"><input type=text name="name"><input type="submit" value="submit">
</form>
<?
echo $v;
$_SESSION[status] = $v;
?>
PHP编程方式三: PHP编程
<?
session_start();
if(!emptyempty($_POST[name])){
$data = $_POST[name];
$tag = $_POST[tag];
if($_SESSION[status]==$tag){
echo $data;
}else{
echo "不允许刷新!";
}
}
$v = mt_rand(1,10000);
?>
<form method="post" name="magic" action="f5.php"><input type="hidden"
name="tag" value="<?=$v?>"><input type=text name="name"><input type="submit" value="submit">
</form>
<?
echo $v;
$_SESSION[status] = $v;
?>
PHP编程以上就是php防止CC攻击的多种方式,希望能赞助大家防止网页快速恶意刷新. 欢迎参与《PHP实例:php防止CC攻击代码 php防止网页频繁刷新》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |