English
 电子信箱
 加入收藏

  威盾防火墙 >> 新闻中心 >> 业界动态 >> PHP防CC攻击的方法(防止快速刷新)

 

PHP防CC攻击的方法(防止快速刷新)

威盾防火墙 2014-12-05

 

1.session记录

submit.php为发送页面,在这个页面上设置一个session变量,,并作为隐藏域和表单一起发送到,submitdeal.php页面.在服 务器端把post上来的隐藏变量和服务器端记录的session变量进行对比,比如一样,则写入数据库并清除session,这样用户刷新页面,两个值 不相等提示错误或跳转

优点:不用用户输入验证码

缺点:表单容易被复制


2.验证码
原理和第一种一样,只是session数据不作为隐藏域提交,,而是让用户填写,大多数网站都彩用,,有文字验证码和图片验证码,图片验证码安全性高..别


3.IP绑定
提交数据后,先从IP表里检索客户端IP,如果有,并且没有过期,那么报错,否则写入数据库,然后再取客房端IP,把IP写入数据库。


4.cookie
客户提交后处理程序先检索客户端有没有设置cookie,如果有,则不重复提交,如果没有,则写数据,,再写个cookie;

例:

方式一:

<?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  
session_start();  
$allow_sep = "30000";  
if (isset($_SESSION["post_sep"]))  
{  
if (time() - $_SESSION["post_sep"] < $allow_sep)  
{  
exit("请不要反复刷新");  
}  
else  
{  
$_SESSION["post_sep"] = time();  
}  
}  
else  
{  
$_SESSION["post_sep"] = time();  
}  
?>  

 www.2cto.com

方式三:

<?  
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与SQL注入攻击防范小技巧[2014-12-05]
php防止sql注入攻击的简单代码[2014-12-05]
解析阻止或减轻SQL注入攻击实用招数[2014-12-05]
对JSP防范SQL注入攻击的描述[2014-12-05]
PHP代码网站如何防范SQL注入漏洞攻击建议分享[2014-12-05]
轻松三步走!防止SQL数据库注入攻击[2014-12-04]
Mdcsoft-IPS入侵防御系统SQL注入防御[2014-12-05]
php防止SQL注入详解及防范[2014-12-05]
PHP登录环节防止sql注入的方法浅析[2014-12-05]
PHP与SQL注入攻击防范小技巧[2014-12-05]
闪存博客SQL注入[2014-12-05]
巧用IPSec加固Web服务器[2014-12-05]