WordPress 登录二次验证

2015年7月26日 分类: 杂谈 (300 个脚步)

这几天闲着没事,升级了一下 wordpress 的版本。

整理插件的时候发现以前使用的 limit-login-attempts 不是一个好的装 X 神器。B 格有点 low …

现在不是都流行使用两步登录来校验用户的嘛… 于是就找了几个可用的插件一一对比,然后了一个合适我自己用的。

我一共尝试安装了 3 个不同版本的两步验证插件: Authy Two Factor AuthenticationGoogle Authenticator 和 Two Factor Auth
 

Authy Two Factor Authentication

首先就是 Authy 的插件。这个插件必须要去 http://authy.com/signup 注册一个账号,创建一个 Application 来获得相应的 API。
然后打开设置页面:

你有可能注意到最后面有个 Plan:Pay_as_you_go 
这个 API 是要付费的,不过如果博客只有你一个人用,而且登录又不是非常频繁的话,每月 100 次使用频率也已经是足够的了。

设置好 API Key 之后,就可以到个人资料去开启两步验证了。
 

Google Authenticator

在启用插件后,没有任何菜单显示。你需要到个人资料页面,你就能看到以下内容

然后使用相应的两步验证程序,比如说 Authy、Google Authenticator。输入秘钥后就能在登录的时候使用两步验证校验了。
 

Two Factor Auth

实话说,一开始用上面的两个插件基本上已经足够了。

但有时候还是挺烦的,登录网站还得拿出手机来看密码,如果手机不在身边,还不能登录。

所以找着找着就找到了这一个插件。

跟上面介绍的2个插件不同的是,Two Factor Auth 提供了使用邮件的方式来验证有效性。
这样的话,就不用无时无刻带着手机,而已通过登录邮箱来获取相应的验证码。

安装完成插件后,你可以到设置-Two Factor Auth 来修改相关全局设置。
使用邮件的方式时,需要改的就是 发送邮件地址 和 邮件账号名称

然后就可以在菜单栏找到 Two Factor Auth,如果你不想使用使用邮件的方式,可以选择下面的 第三方软件。相关设置可以参考上面的介绍,这里就不详细描述了。

选择相应的获取方式:

登录时是这样的

收到的邮件

PS: 如果在安装了 Two Factor Auth 后发现没有生效,查看日志是这样的提示

PHP message: PHP Warning:  mcrypt_decrypt(): Key of size 0 not supported by this algorithm. Only keys of sizes 16, 24 or 32 supported

就直接编辑插件目录下的 class.TFA.php 中的

private function hashAndBin($pw, $salt)
{
	$key = $this->hash($pw, $salt);
	$key = pack('H*', $key);
}

修改以下代码就可以了.

private function hashAndBin($pw, $salt)
{
	$key = $this->hash($pw, $salt);
	$key = pack('H*', $key);
	return str_repeat(chr(0), 16);
}

 

WordPress 登录二次验证 【声明】本文 WordPress 登录二次验证 为柠之漠然原创文章,转载请注明出自 枫之落叶
并保留本文有效链接:https://blog.shiniv.com/2015/07/wordpress-login-with-two-fatch-auth/ , 转载请保留本声明!

标签: , ,
1条评论
  • wp的验证机制也越来越完善了

你必须要启用 Javascript