防止网页过快刷新-CC攻击

防止网页过快刷新

1,为什么防止网页过快刷新

1,网页过快刷新,会增加服务器压力
2,有一定作用防止cc攻击

2,原理代码

<?php
header('content_type:text/html;charset=utf-8');
//十秒钟之内刷新次数不能多于五次
session_start();
//防止网页点击(刷新)过快
$cur_time = time();
if($_SESSION['last_time']){ 
    $_SESSION['click_refresh'] += 1;
}else{ 
    $_SESSION['click_refresh'] = 1;
    $_SESSION['last_time'] = time();
}

if($cur_time - $_SESSION['last_time'] <= 10){ 
    if($_SESSION['click_refresh']>=5){ 
        die('click fast');
    }
}else{ 
    $_SESSION['last_time'] = $cur_time;
    $_SESSION['click_refresh'] = 0;
}

验证开始的初始化和结束的清零都在判断后进行,
因为不知道哪次刷新是开始

3,CC攻击

简介

攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源
耗尽,不停地进行访问那些需要大量数据操作(就是需要大量CPU时间)
的页面,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理
不完的连接直至就网络拥塞,正常的访问被中止,一直到宕机崩溃

防止

1.session记录
    生成一个session保存的token,收到表单的时候进行对比,不正
    确则提示错误或者跳转

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

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

4.cookie:
    客户提交后处理程序先检索客户端有没有设置cookie,如果有,
    则不重复提交;如果没有,则写数据,再写个cookie;
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值