jopa

Typecho配置登陆验证码
这是一款GEETEST在Typecho上登录验证的插件,主要是提升后台登录的安全性,在折腾插件前,我也已经百度过,...
扫描右侧二维码阅读全文
07
2018/02

Typecho配置登陆验证码

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

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

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

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

配置方法:
1、去GEETEST申请key、id开启插件后进行设置
请输入图片描述

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();

1)修改为

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

2)在

 /** 如果已经登录 */
    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();
    }
最后修改:2018 年 07 月 17 日 10 : 53 AM
如果觉得我的文章对你有用,请随意赞赏

6 条评论

  1. 骚九

    完美应用,博主本文我偷走了

  2. nice

    请问我可以转载到自己博客么。

    1. jopa
      @nice

      可以的,有好东西都可以转一下

  3. nice

    我按照上述配置,启用插件的时候,显示 server error

    1. jopa
      @nice

      应该是插件名没改,你把插件的文件名改成Geetest就好了

  4. 隔壁老王

    哎呦,不错哟

发表评论