typecho后台登录使用双因素认证 作者: morningp 时间: 2021-09-28 分类: 技术笔记,建站相关 般来说typecho搭建好之后后台使用账号密码就可以登陆写日志,如果没有设置好强密码的话还是挺不安全的,这个时候我们就可以为后台添加双因素认证来增强安全性。 这里我使用的是一款叫做ExtraVerification的插件 ~~没错今天又要来介绍插件了~~ ,插件的好处就在于可以在不改动原有代码的情况下轻松的添加功能(当然这款插件还是需要进行部分代码的改动的)。 首先下载插件进行安装,插件是在GitHub上开源的,可以放心使用。 GitHub地址:https://github.com/imwis/ExtraVerification 下载后将插件解压为ExtraVerification文件夹,放到 webroot/usr/plugins/下,然后我们就要来开始修改文件了。 首先打开 webroot/admin/login.php 文件,在26行(写本篇博客时是这一行,仅供参考,你也可以添加到你想要的地方),即密码框下面的地方,添加: ```xml ``` 这时如果保存刷新,你就会发现页面已经变成了  这样。 接下来最好登录后台后进行下一步操作(此时不用输入动态密码即可登录)。 打开 webroot/var/Widget/User.php 文件,在126行 (写本篇博客时是这一行,仅供参考,**一定**要添加在login判断逻辑中),添加: ```php if(Typecho_Common::isAvailableClass('ExtraVerification_Plugin')) { $extv = new ExtraVerification_Plugin(); if(false == empty($user['googleAuth']) && false == $extv->googleAuthenticator()->verifyCode($user['googleAuth'], $this->request->extAuth, 1)){ return false; } } ``` 保存退出后进入网站后台启用ExtraVerification插件,刷新后台就可以在设置里找到两步验证的选项了  这个页面每次进入都会刷新随机参考密钥,你也可以填入你自己的随机密钥,点击生成二维码就会在新页面显示出二维码,使用任意支持TOTP的软件扫码这个二维码就可以得到基于密钥和时间产生的动态密码,在动态密码框中输入现在显示的动态密码确认即可启用多因素验证,为后台多添加了一份保障。 标签: none