转自给 Typecho 添加双因素认证支持

不得不说双因素认证的确是一种保护账号安全的有效方法,
Google、GitHub和众多网站纷纷支持双因素认证保护账号,
这次我把双因素认证移植到了 typecho 上

首先不得不说下,
typecho 并没有给登录预留插件接口,
只有登录成功和登录失败的处理接口,
登陆界面也没有可以插入的地方,
所以这回直接对 Typecho 源代码下手了

首先下载修改后的 Typecho 分支:
https://github.com/kookxiang/typecho

然后执行 SQL

ALTER TABLE `typecho_users` ADD COLUMN `twoFactorAuthKey` varchar(18) NOT NULL;

(本来可以放到 Typecho 更新程序中自动执行的,考虑到日后升级问题,就没有放过去)

登录到后台,点击控制台 个人设置
最下方可以看到“双因素认证”,
有随机生成的一组 Key
手动添加到 Google Authenticator 或者 Authy 中就可以使用了。当然也可以通过二维码方式添加,
不过考虑到 Google API 在国内的可用率还是建议开着梯子访问

添加到手机之后将当前验证码填写到确认框中点击启用即可启用。此后每次登录后台不论密码是否正确都将要求输入动态密码(增加暴力破解难度)

如需取消,可以登录后台输入动态密码取消。
如果无法登录后台,可以到数据库中清空对应用户的 twoFactorAuthKey 字段

修改的地方如下:

admin\login.php
admin\profile.php
install\Mysql.php
var\Widget\Users\Profile.php
\var\Widget\Login.php
\var\Widget\GoogleAuthenticator.php

Google身份验证器使用-WordPress和VPS利用Google Authenticator两步验证

标签:web安全, typecho

你的评论