专栏首页凉城PHP防CC拦截代码,拦截率60%

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

<?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;
}
?>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • PHP判断是否为手机移动终端的函数代码

    用户1456630
  • php接口源码获取百度网站收录数量

    用户1456630
  • EMLOG扩展 - 百度自动推送JS优化,规避错误、重复推送、判断文章是否收录

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

    V站CEO-西顾
  • python: time

    time():获取时间戳 gmtime() :换算成UTC时区的时间------->换成元组的形式 localtime():结果为UTC+8时区

    py3study
  • 数据库MySQL-varchar与char类型

    备注: 在MySQL中更改数据存储类型, 字段长度都会造成锁表. 在繁忙的系统中都会产生极大的灾难. 但是对于varchar来说如果是在255字节内任意更改大小...

    cwl_java
  • 【算法】线性回归算法库总结

    小编邀请您,先思考: 1 回归算法的道和术分别是什么? 2 如何应用回归算法? scikit-learn对于线性回归提供了比较多的类库,这些类库都可以用来做线性...

    陆勤_数据人网
  • centos安装使用puppeteer和headless chrome

    Google推出了无图形界面的headless Chrome之后,可以直接在远程服务器上直接跑一些测试脚本或者爬虫脚本了,猴开心!Google还附送了Puppe...

    皇上得了花柳病
  • 数据猿创始人牟蕾参加创业邦100未来领袖峰会共商共享经济与大数据未来

    左起:牟蕾 任牧 魏坤耀 杨海玲 张鑫 数据猿创始人兼CEO牟蕾作为受邀嘉宾,参加了首日下午的圆桌对话·融合与创新-新零售的机遇及探索实践之路,并作为主持人与嘉...

    数据猿
  • 15.MySQL(三) 索引类型

    索引类型 先创建表 mysql> CREATE TABLE test( -> id INT, -> username VARCHAR(16), ...

    zhang_derek

扫码关注云+社区

领取腾讯云代金券