给 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 字段

就是这样~
Why? キミに問いたい そのアツい情熱の進化 「ギミー!レボリューション」 作詞:こだまさおり 作曲:田淵智也 編曲:やしきん 歌:内田真礼 待って 違和感の理由 恋じゃまだ弱いな 100通りの好きが飽和しても なりたいのはオンリーワン 思わず成長してく この髪は卒業? キミがちゃんと振り向いてくれたら きっとそれが完成形 理屈じゃないとか どこかで読んだコトバより めえいっぱい(わあ)背伸びしたい(YES!!)はじめての挑戦かもね (Growing UP!! Next phase) Tell me why キミに問いたい そのアツい情熱の進化 そうキミがキミである 存在が語るミラクル(Uh, baby) ねえ、もっと知りたい この胸が高鳴る仕組み もはや恋さえ凌駕しちゃう アタラシイ革命の予感 今日もS.O.S 駆けつけて来てねヒーロー Rescue!! すー、はー、Check, Check, テス オーライ キミの言い分 なんかフに落ちちゃった いろんな自分 会えないままなんて ひとりぼっちと変わんないし 理解はあとから? メクルメイテどうしたらいい? エスコート(きゃ)お願いね(やった)ふたりならなんでもできそう (You are my HERO!!) Take me high キミと目指すの あの遥か情熱のパラダイス もうキミがキミでなきゃ この星がピンチなんだよ(Uh, baby) ねえ、いつか言わせて トキメキが生みだすコトバ それは愛ともリンクしちゃう オトナ未満わたしの革命 Wao!! GOGO!! どっち? Oh my god… OK! Come on! うん、行くよっ いつも今が最高でしょ Ready GO!! ねえ、教えて 聞かせて これからどうなるの? これ以上ないくらい トキメキが加速しちゃうよ (Growing UP!! Final phase) 目覚めてく わたし達だけのカタチ Tell me why キミに問いたい そのアツい情熱の進化 そうキミがキミである 存在が語るミラクル(Uh, baby) ねえ、もっと知りたい この胸が高鳴る仕組み もはや恋さえ凌駕しちゃう アタラシイ革命の予感 今日もS.O.S 駆けつけて来てねヒーロー Rescue!!

标签: Typecho


已有 22 条评论
  1. 请问博主的 KKBBS 是否继续更新呢 ?, 就是您在 https://code.google.com/archive/p/kkforum/ 的这个项目 ?

  2. 小桃 小桃

    请问博主的主题是开源的吗?还有请教下留言板栏目用 typecho 是怎么做的呀?
    刚进 typecho 的坑,官网上找不见主题资源,如果打扰请见谅 QQ。

    1. 凯凯 凯凯

      同新手,加了几次 typecho 群被拒,说要博客域名,问题?才能进群,我才刚使用 typecho,本地搭建的,哪来的博客域名嘛

    2. 不开源,直接新建页面开放回复

  3. 我发现 typecho 的 xmlrpc 接口仍然可以直接暴力破解。。

    1. xmlrpc 登录也是走钩子的啊

  4. 表示直接用了 reCAPTCHA 2333

  5. ddy ddy


    蛋疼了,sqlite 的咋整

    1. 一样的,自己加个字段吧

  6. q q

    你好,kk
    在nginx1.96 php7rc6下好像不兼容?
    就是Authy扫描二维码输入验证码“启动两步验证时”报错

    1. 实际上跟 nginx 和 php 版本都没有关系,你应该检查是否执行了上面所说的 SQL 语句

      1. q q

        之前是备份数据和源码网站搬家的
        发现502,找不到解决方法
        到Github下的typecho最新是1.1
        手动把你的双因素认证添加
        如您所言
        上面所说的 SQL 语句就行了!
        感谢

  7. 额 想起来了,可以看 commit 记录。。。

  8. 博主具体修改了哪些文件呢?我的 typecho 的版本应该是高一些,不想直接全覆盖了

    1. merge下就好了

  9. 求教怎么使用二维码添加,小白不懂麻烦你啦~

    1. Somebody Somebody

      手机装个 Authy,添加帐号。

  10. 重金属 重金属

    修改的内容可以转发吗

  11. 播放器好可耐

    1. 快和我回家玩泥巴去!

  12. 你的typecho有啥特点?

添加新评论