Typecho Wiki
每一个作品都值得被记录

Typecho安全登录之配置登陆验证码

Typecho维基君Typecho教程 • 1382次浏览 • 发布 2021-11-21 • 更新 2021-11-21
极致加速的V2Ray 助您畅享全球网络 & 搬瓦工VPS最新优惠码
🛜自用大流量超低月租手机卡推荐榜单 #拒绝流量焦虑

这是一款GEETEST在Typecho上登录验证的插件,主要是提升后台登录的安全性,在折腾插件前,我也已经百度过,在Typecho上已经有很多人实现过了,但是要么是2.0版本的现在已经无法申请到key,要么是在评论上的实现,无法满足自己的要求,所以主要是为了满足自己的要求了~
Typecho安全登录之配置登陆验证码

安装后会增加验证功能,如上图所示。

目前尚无法一键实现,配置略麻烦,请斟酌安装。

下载Geetest插件,上传到plugins目录中
Geetest插件下载地址

配置方法:
1、去GEETEST申请key、id开启插件后进行设置
Typecho安全登录之配置登陆验证码

2、需要修改文件/admin/login.php

在代码这些中

<script
$(document).ready(function () {
    $('#name').focus();
});
</script>

增加

<?php Typecho_Plugin::factory('gt')->render(); ?>

在这些代码中

<script> 
//添加到这
 <?php Typecho_Plugin::factory('gt')->render(); ?>
$(document).ready(function () {
    $('#name').focus();
});
</script>

3、需要修改文件/var/Widget/Login.php

$this->security->protect();

修改为

if (!$this->request->__isset('rand')) {
    // protect
    $this->security->protect();
}

/** 如果已经登录 */
if ($this->user->hasLogin()) {
    /** 直接返回 */
    $this->response->redirect($this->options->index);
}

下面添加

$response = Typecho_Plugin::factory('gt')->verify($this);
if ("data" == $response) {
    return;
}
//判断极验证码是否开启 且 有没有通过验证
if (!empty(Helper::options()->plugins['activated']['Geetest']) && $response['statusMsg'] != 'success') {
    //$error = !empty($status[$response]) ? $status[$response] : $status['error'];
    $this->widget('Widget_Notice')->set($response[$response['statusMsg']]);
    $this->response->goBack();
}

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,Typecho.Wiki所有文章均包含本声明。
本文检索关键词:Typecho教程
厂商投放

【腾讯云】🎉五一云上盛惠!云服务器99元/月续费同价!

腾讯云五一劳动节海量产品 · 轻松上云!云服务器首年1.8折起,买1年送3个月!超值优惠,性能稳定,让您的云端之旅更加畅享。快来腾讯云选购吧!

广告
添加新评论 »