PHP防CC拦截简易代码,采用301跳转方式

来源:V站

<?php
empty($_SERVER['HTTP_VIA']) or exit('Access Denied');
$seconds = 10; //时间段[秒]
$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){
//跳转验证
$url='http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$msg=mb_convert_encoding("<title>安全检查</title><h3>检测到CC攻击,正在进行浏览器安全检查!</h3>","UTF-8","GBK");
exit($msg."<meta http-equiv='refresh' content='5;url={$url}'>");//5是定时跳转的时间,后期可以根据时间段调整跳转时间
}
}else{
$_SESSION['refresh_times'] = 0;
$_SESSION['last_time'] = $cur_time;
}
?>

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏文大师的新世界

3. spring security & oauth2

解释看代码字面意思就懂了,没什么特殊的,还可以修改比如登录表单里的用户名和密码的名字,还可以添加各种登录成功之后的handler等等,写法都一样。

2292
来自专栏编程坑太多

springboot(15)Spring Security

1532
来自专栏草根专栏

使用Identity Server 4建立Authorization Server (3)

上一部分简单的弄了个web api 并通过Client_Credentials和ResourceOwnerPassword两种方式获取token然后进行api请...

3376
来自专栏面朝大海春暖花开

springMVC整合freemarker遇到的问题 maven

<dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</art...

1334
来自专栏程序猿DD

从零开始的Spring Session(三)

新媒体管家 上一篇文章中,我们使用Redis集成了Spring Session。大多数的配置都是Spring Boot帮我们自动配置的,这一节我们介绍一点Spr...

3118
来自专栏lgp20151222

常用的http网页错误代码表---------495引发的一个简单到爆,但基于国内环境只能呵呵呵的血案

然后,正常的跑去百度,看了一堆还是没有完整的网页错误代码,应该说国内的环境的网页错误代码表只有官方的那几个,那么只能FQ了。

5433
来自专栏码匠的流水账

聊聊nginx的几个常见异常

这个通常是proxy_temp目录的owner和group设置不对,导致没有权限

1892
来自专栏技术小黑屋

Refused to Execute Script From Because Its MIME Type (Text/plain) Is Not Executable, and Strict MIME

今天又与这个问题相遇了,Orz,还是研究一下解决方法和出现原因吧。 刚刚在github上传了一个js文件,想让这个文件被其他网页引用,于是贴出了这个文件的ra...

2581
来自专栏凉城

PHP防CC拦截代码,拦截率60%

2068
来自专栏Python自动化测试

python接口测试之401错误的分析和解决(十七)

通过一个案例来分析在HTTP的请求中403错误的解决以及HTTP的状态码中403怎么理解,见发送一个请求后,返回的状态码,见如下的信息:

2046

扫码关注云+社区

领取腾讯云代金券