PHP、ASP等网站防止CC攻击和恶意刷新攻略

是不是网站经常被CC?小网站服务器不是很给力?网站被访问者狂按F5就瘫痪了,经常遇到本地CC就HOLD不住了,废话不多说,下面是一段代码,加到主题的header.php里面即可!
PHP、ASP等网站防止CC攻击和恶意刷新攻略

<?php
//代理IP直接退出
empty($_SERVER['HTTP_VIA']) or exit('Access Denied');
//防止快速刷新
session_start();
$seconds = '3'; //时间段[秒]
$refresh = '5'; //刷新次数
//设置监控变量
$cur_time = time();
if(isset($_SESSION['last_time'])){
 $_SESSION['refresh_times'] += 1;
}else{
 $_SESSION['refresh_times'] = 1;
 $_SESSION['last_time'] = $cur_time;
}
//处理监控结果
if($cur_time - $_SESSION['last_time'] < $seconds){
 if($_SESSION['refresh_times'] >= $refresh){
  //攻击者跳转地址
  header(sprintf('Location:%s', '输入跳转地址,务必记得输入http://'));
  exit('Access Denied');
 }
}else{
 $_SESSION['refresh_times'] = 0;
 $_SESSION['last_time'] = $cur_time;
}
?>

ASP版本代码如下,技术问题,没有跳转!

Sub PreventRefresh()
    Dim RefreshTime,isRefresh 
    RefreshTime = 10   ’防止刷新时间,单位(秒) 
    isRefresh = 1    ’是否使用防刷新功能,0=否,1=是 
    If isRefresh = 1 Then 
        If (Not IsEmpty(Session("RefreshTime"))) And RefreshTime > 0 Then 
            If DateDiff("s", Session("RefreshTime"), Now()) < RefreshTime Then 
                Response.Write "<META http-equiv=Content-Type content=text/html;  
chaRset=gb2312><meta HTTP-EQUIV=REFRESH CONTENT="&RefreshTime&"><br> 
本页面起用了防刷新机制,请不要在"&RefreshTime&"秒内连续刷新本页面 
<BR>正在打开页面,请稍后……" 
                Response.End 
            Else 
                Session("RefreshTime") = Now() 
            End If 
        Else 
            Session("RefreshTime") = Now() 
        End If 
    End If 
End Sub

大家可以试试!有问题呀欢迎一起沟通!

技术分享

适合大师的动作并不适合新手,告诉你软件开发中的DevOps到底是什么鬼

2015-12-4 13:24:55

技术分享

ROM UI主题 锁屏 动效方案

2015-12-5 11:20:52

    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索