最近已经从 WordPress 转到 Typecho,虽然明显感觉到网址的速度确实比以前快,但是Typecho的插件确实比 WordPress少太多了,而且在网络上必须要考虑后端的安全性。
爬了下Typecho的各种论坛和博客,本打算用极验增加二次验证码的方式来提高后台安全性,结果极验 2.0已经停止申请了(免费),而3.0却要收费。对于个人用户能省则省的办法只好另外其他办法,终于皇天不负有心人有心人(还是搜索引擎强大:))终于找到两招。
两个方法都是修改admin下login.php文件
以下是使用方法:
方法一:隐藏保护login.php
编辑admin文件夹下的login.php文件,在顶部加入如下代码:
<?php
if($_GET["text1"]!="text2"){
header('Location: https://www.xxdtl.com');//这里换成你的网址
exit;
}
?>这招其实是利用$_GET获取参数,加一个判断进行跳转就好了,(注意!今后若想登陆,需手动输入形同https://www.xxdtl.com/admin/login.php?text1=text2 网址才能进入后台登录页面!)
方法二:利用Session判断限制登录页面次数
来自幻杀的WordPress 代码。
在预定时间内访问超过次数后,页面直接返回首页。
加在login 最前面
/*
name:判断页面访问次数最大次数阻止
author:小幻
url:ihuan.me
*/
define('count_num','4');//访问最大次数
define('count_time','60');//访问最大时间
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){
header('Location: /'); //返回首页,这是我加上去的,可以去掉。
exit; //结束下面的。
}
}else{
$times = 0;
$_SESSION['last_time'] = $now_time;
$_SESSION['times'] = $times;
}以上两个方法添加后的效果如图:

这样我们在后台登录时有效的防止暴力破解了!
以上两个小妙招希望你能get到!
羞羞的铁狼