这是一款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(); }
原文:https://zhaolog.com/2018/02/07/289.html
留言评论
暂无留言