自制WordPress防简易CC攻击刷新跳转代码

诗梦
395
文章
720
评论
2019年11月10日14:43:47 7 8.4K 次浏览 2866字
12-13国家公祭日,勿忘国耻

自制简易防CC攻击刷新跳转代码,每秒刷新过多后跳转防cc页,5秒后反回博客首页,感觉只能防一下乱刷新的人,就是打开博客一通乱点的人。自制WordPress防简易CC攻击刷新跳转代码

使用:以WordPress为例,在根目录创建cc.php文件,把php代码添加到里面保存,再创建cc.html文件把html代码放入保存,在到根目录的index.php文件最前面加上调用代码,调用cc.php文件即可,可把cc.php里的时间修改周期改长点。自制WordPress防简易CC攻击刷新跳转代码

cc.php代码

  1. <?php
  2. //代理IP直接退出
  3. emptyempty($_SERVER['HTTP_VIA']) or exit('Access Denied');
  4. //防止快速刷新
  5. session_start();
  6. $seconds = '3'; //时间段[秒]
  7. $refresh = '8'; //刷新次数
  8. //设置监控变量
  9. $cur_time = time();
  10. if(isset($_SESSION['last_time'])){
  11.  $_SESSION['refresh_times'] += 1;
  12. }else{
  13.  $_SESSION['refresh_times'] = 1;
  14.  $_SESSION['last_time'] = $cur_time;
  15. }
  16. //处理监控结果
  17. if($cur_time - $_SESSION['last_time'] < $seconds){
  18.  if($_SESSION['refresh_times'] >= $refresh){
  19.   //跳转防cc页
  20.   header(sprintf('Location:%s', 'https://www.mom1.cn/cc.html'));
  21.   exit('Access Denied');
  22.  }
  23. }else{
  24.  $_SESSION['refresh_times'] = 0;
  25.  $_SESSION['last_time'] = $cur_time;
  26. }
  27. ?>

cc.html代码:

  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <title>防CC刷新攻击中,5秒后跳转首页</title>
  6. <meta http-equiv="refresh" content="5;url=/" />
  7. <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>
  8. </head>
  9. <body>
  10. <div class="loading">防CC刷新攻击中,5秒后跳转首页</div><br>
  11.     <script src="https://cdn.bootcss.com/jquery/3.3.0/jquery.min.js"></script>
  12.     <script type="text/javascript">
  13. $(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')}});
  14. </script>
  15. </body>
  16. </html>

调用cc.php代码:

  1. require 'cc.php';
  • 版权声明: 发表于 2019年11月10日14:43:47
  • 转载注明:https://www.mom1.cn/6403.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:7   其中:访客  5   博主  2
    • avatar 叶忠文博客 @回复 1

      你这安全工作做的可以啊

      • avatar 新酱博客 @回复 2

        那个防止代理的有用吗?感觉cc都是代理ip。

        • avatar 网虫虫 @回复 0

          有报错 咋解决呀?? Fatal error: Call to undefined function emptyempty() in /data/home/qxu1606620110/htdocs/cc.php on line 3

          • avatar 沙漠 @回复 1

            请问下跳转到CC.HTML时为什么会变成404

              • avatar 沙漠 @回复 1

                @沙漠 显示重定向次数过多,然后就404了