WordPress之防御cc攻击(频繁F5刷新)

教程介绍

CC攻击是一种很常见的攻击,对于WordPress来说这方面的防御做的很差,F5都能刷死,解决方法那,可以给网站生成静态,比如用WP Super Cache插件,生成静态后即能加速还能减少服务器资源占用,推荐各位使用。但是这个方法也不是绝对的。推荐各位在加一段代码来防御CC。
将下面的防cc代码加入到当前使用主题的function.php中即可

代码预览

  1. //防止CC攻击
  2. session_start(); //开启session
  3. $timestamp = time();
  4. $ll_nowtime = $timestamp ;
  5. //判断session是否存在 如果存在从session取值,如果不存在进行初始化赋值
  6. if ($_SESSION){
  7.   $ll_lasttime = $_SESSION['ll_lasttime'];
  8.   $ll_times = $_SESSION['ll_times'] + 1;
  9.   $_SESSION['ll_times'] = $ll_times;
  10. }else{
  11.   $ll_lasttime = $ll_nowtime;
  12.   $ll_times = 1;
  13.   $_SESSION['ll_times'] = $ll_times;
  14.   $_SESSION['ll_lasttime'] = $ll_lasttime;
  15. }
  16. //现在时间-开始登录时间 来进行判断 如果登录频繁 跳转 否则对session进行赋值
  17. if(($ll_nowtime - $ll_lasttime) < 3){
  18.   if ($ll_times>=5){
  19. header("location:http://127.0.0.1");//可以换成其他链接,比如站内的404错误显示页面(千万不要用动态页面)
  20.   exit;
  21.   }
  22. }else{
  23.   $ll_times = 0;
  24.   $_SESSION['ll_lasttime'] = $ll_nowtime;
  25.   $_SESSION['ll_times'] = $ll_times;
  26. }

评论6

评论前必须登录!

  1. #0
    请问这个对最新版本的wp有效果吗?
    kkoopp2017-09-16 23:48:59
  2. #0
    被你坑死了,用过,用测速网站都能把网站打死,恢复源文件还是不行
    code2015-04-27 16:16:28
    • 这只是很轻量的,测速网站的很多不同IP访问量大类似于DDOS只能硬抗
      源码集合2015-04-27 22:52:13
      • 如果尝试将 if ($ll_times>=5)中的5修改为15会是什么效果呢
        BanYuner2016-05-23 15:36:34
  3. #0
    谢谢。问一下,你说的这几个代码,可以加到function.php的任意位置吗?
    世界语2015-04-25 22:45:02
    • 加到?>之前,转移不要插入到主题其他功能的代码中间,可能会导致出错网站打不开,建议修改代码之前先备份function.php文件,出问题了可以随时用FTP替换之前的
      源码集合2015-04-26 16:30:12