当前位置:首页 > WordPress代码·功能 > 正文

利用Session判断限制登录页面次数,防止暴力破解 – WordPress范例(一)

暴力破解也是够烦的,成天收到阿里提示,也是一般也就看一眼,从来不关注,偶尔服务器窘个机随手重启下,无所谓,反正基本都是无目的的尝试,也基本破解不开..

不过昨天下午,服务器窘机了一下午,起初以为是暑假了有小学生CC,后来发现重启一直cpu占用100% 阿里后台登陆 ssh 直接提示内存溢出,然后我利用无数次重启的间隙 top 查看了下 ihuan.me这个php主机占用和MySQL占用lv高达99%

心里顿时一万只草泥马在奔腾,然后把php-fpm设置到最低 服务器差不多也算能正常工作下,看了下php日志 tm 十几G前段时间刚清的....

然后日志绝大部分都是请求wp的登陆,赶脚不能再不理的,实在太烦人了...

wp好久不折腾也不是很熟悉了,搜了下,有相关插件,不过本着折腾的心理,决定还是不用了~

反正wordpress的登陆也是个php页面,和不直接开刀页面,岂不是更方便,执行时直接跳过WordPress的主程序,感觉应该比插件更效率些,毕竟他们还要走一遍WP,资源上感觉太浪费,毕竟那些插件主要是为了防破解,而不是防止资源的占用

果断动手,使用Session判断,不知道是什么鬼的自行百科

首先小幻我浏览了一下WordPress的登陆文件 wp-login.php的相关内容,对登陆也算有了基本了解,大部分还是要走主程序,那么判断为了节约资源走主程序实在浪费了,如果wp是个人博客,下面这个可能有点帮助,不是的话,可能不太适用

我的想法是这样的,判断wp的登陆页面的访问次数,正常访问,一般不会闲的无聊一直刷登陆页面,那么直接判断登录页面的访问次数,如果次数达到一定值,则直接exit程序,阻止程序继续运行。

如果你开启xmlrpc.php,暴力破解可能会利用这个接口破解,没有必要的话,这个接口可以关闭掉

关于xmlrpc的相关可以看以前的这篇文章

关于WordPress密码暴力破解、XML-RPC协议的一些事

代码基本写好,直接放进wp-login.php顶部即可正常运行,测试了下,在预定时间内访问超过次数后,页面直接返回空白,程序ok~

/*
name:判断页面访问次数最大次数阻止
author:小幻
url:ihuan.me
*/
define('count_num','4');//访问最大次数
define('count_time','3600');//访问最大时间
session_start();//开启session
$now_time = time();
//判断session存在,赋值
if ($_SESSION){
    $last_time = $_SESSION['last_time'];
    $times = $_SESSION['times'] + 1;
    $_SESSION['times'] = $times;
}else{
    $last_time = $now_time;
    $times = 1;
    $_SESSION['times'] = $times;
    $_SESSION['last_time'] = $last_time;
}
//开始时间判断,如果超过时间次数,则退出程序
if(($now_time - $last_time) < count_time){ if ($times>=count_num){
        exit;
    }
}else{
    $times = 0;
    $_SESSION['last_time'] = $now_time;
    $_SESSION['times'] = $times;
}

各个步骤的相关注释已经写好在上面了,赋值之类的就不多加说明了~

限制方法很多种 Session 也只算一种而已,以后相关内容会继续跟进~

大家可以到 http://ihuan.me/wp-login.php 访问几遍就能看到结果了

标签:
上一篇: 下一篇:

13 条评论

评论加载中...
  1. 8楼
    来自天朝的朋友 谷歌浏览器 Windows 8
    仲夏  

    你好,在登录页面看到一个黑夜里豹子喝水的图片,能提供一下下载地址吗,太好看了,好想收藏!百度识图没搜到~~~~

    2017年1月6日 23:50 评论
  2. 刚刚用你的登陆界面测了下 连续刷新了很多遍 依旧有内容呀

    2016年12月13日 13:44 评论
    • 小幻  

      更新了wp就懒得再加上了~

      2016年12月23日 23:18 评论
  3. 6楼
    来自天朝的朋友 谷歌浏览器 Windows 7
    财万家  

    网赚平台那么多,不坑的有几家?——强烈推荐财万家,注册就送1元现金,1元就可以提现了,下线提成高达60%,不说了,我今天已经赚了200多,http://www.caiwanjia.cn/reg.asp?i=17

    2016年8月18日 16:58 评论
  4. 5楼
    来自天朝的朋友 谷歌浏览器 Windows 7
    Qa  

    使用nginx做记录也不错,效率更高。

    2016年8月12日 18:16 评论
    • 小幻  

      nginx没试过

      2016年8月15日 13:34 评论
  5. 4楼
    来自天朝的朋友 谷歌浏览器 Windows 8.1
    Deerweak  

    我搬到Typecho

    2016年8月1日 19:17 评论
    • 小幻  

      typecho不错的~

      2016年8月4日 09:13 评论
  6. 地板
    来自天朝的朋友 谷歌浏览器 Windows 8.1
    慕若曦  

    支持小幻。顺便说一句沙发亮了,手动滑稽

    2016年7月24日 22:15 评论
  7. 板凳
    来自天朝的朋友 火狐浏览器 Windows 10
    老杨  

    收走了,感谢。不过,为啥子白屏后连首页、文章页等都是百页了呢?

    2016年7月24日 11:27 评论
    • 小幻  

      只放在wp-login.php这一个页面的顶部,其他页面千万不要放,会直接exit程序

      2016年7月24日 13:41 评论
      • 老杨  

        嗯,之前是放错文件了。不过这个方法每次自动升级后都得改一次。

        2016年7月24日 14:34 评论
  8. 沙发
    来自天朝的朋友 Safari浏览器  Android 5.1.1 2014813 Build/LMY47V
    东方求败  

    支持小幻哥哥

    2016年7月24日 01:24 评论

发表评论

不理你。不要啊!吃饭。吃惊。吃西瓜。飞吻!恭喜!Hi纠结!膜拜!OK抛媚眼。泡泡糖。抛钱。忍!生闷气!调皮。偷看。委屈。献花。疑问?抓狂!

小提示:Ctrl+Enter快速提交助您一臂之力~
加载中……