正文:
自制简单的反 cc 攻击刷新跳转代码,每秒刷新太多后跳转到反 CC 页面,5 秒后返回网站首页。觉得自己只能防止随机刷新的人,就是打开网站的人。
用法:以 WordPress 为例,在根目录下创建一个 cc.php 文件,将 php 代码添加到其中并保存,然后创建一个html文件并保存 html 代码,将 index.php 文件前面的调用代码添加到根目录下并调用 cc.php 文件,可以将 cc.php 的时间修改周期变长一点。
创建一个名为 cc.php 的 PHP 文件,并将以下代码复制到其中:
<?php
//代理 IP 直接退出
emptyempty($_SERVER[''HTTP_VIA'']) or exit(''Access Denied'');
//防止快速刷新
session_start();
$seconds = ''3''; //时间段[秒]
$refresh = ''8''; //刷新次数
//设置监控变量
$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){
//跳转防 cc 页
header(sprintf(''Location:%s'', ''https://www.xxx.com/cc.html''));
exit(''Access Denied'');
}
}else{
$_SESSION[''refresh_times''] = 0;
$_SESSION[''last_time''] = $cur_time;
}
?>
再创建一个 cc.html 文件复制以下代码放进去:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>防 CC 刷新攻击中,5 秒后跳转首页</title>
<meta http-equiv="refresh" content="5;url=/" />
<style>*{box-sizing:inherit;}body{min-height:100vh;display:flex;justify-content:center;align-items:center;background:#151924;padding:0;margin:0;}.loading{--color:#F5F9FF;--duration:2000ms;font-family:Roboto,Arial;font-size:24px;position:relative;white-space:nowrap;user-select:none;color:var(--color);}.loading span{--x:0;--y:0;--move-y:0;--move-y-s:0;--delay:0ms;display:block;position:absolute;top:0;left:0;width:1px;text-indent:calc(var(--x) * -1);overflow:hidden;transform:translate(var(--x),var(--y));}.loading.start div{opacity:0;}.loading.start span{animation:move var(--duration) ease-in-out var(--delay);}@keyframes move{30%{transform:translate(var(--x),var(--move-y));}82%{transform:translate(var(--x),var(--move-y-s));}</style>
</head>
<body>
<div class="loading">防 CC 刷新攻击中,5 秒后跳转首页</div><br>
<script src="https://cdn.bootcss.com/jquery/3.3.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){let loading=$(''.loading'').wrapInner(''<div></div>''),min=20,max=70,minMove=10,maxMove=20;startAnimation(loading);loading.on(''animationend webkitAnimationEnd oAnimationEnd'',''span:last-child'',e=>{startAnimation(loading)});function setCSSVars(elem,min,max,minMove,maxMove){let width=Math.ceil(elem.width()),text=elem.text();for(let i=1;i<width;i++){let num=Math.floor(Math.random()*(max-min+1))+min,numMove=Math.floor(Math.random()*(maxMove-minMove+1))+minMove,dir=(i%2==0)?1:-1,spanCurrent=elem.find(''span:eq(''+i+'')''),span=spanCurrent.length?spanCurrent:$(''<span />'');span.css({''--x'':i-1+''px'',''--move-y'':num*dir+''px'',''--move-y-s'':((i%2==0)?num*dir-numMove:num*dir+numMove)+''px'',''--delay'':i*10+''ms''});if(!spanCurrent.length){elem.append(span.text(text))}}}function startAnimation(elem){elem.removeClass(''start'');setCSSVars(elem,min,max,minMove,maxMove);void elem[0].offsetWidth;elem.addClass(''start'')}});
</script>
</body>
</html>
最后在首页文件调用 cc.php 代码:
require ''cc.php'';
转载请注明:汇站网 » (网站安全)抗 CC 攻击刷新跳转代码