WordPress 登录二次验证
这几天闲着没事,升级了一下 wordpress 的版本。
整理插件的时候发现以前使用的 limit-login-attempts 不是一个好的装 X 神器。B 格有点 low …
现在不是都流行使用两步登录来校验用户的嘛… 于是就找了几个可用的插件一一对比,然后了一个合适我自己用的。
我一共尝试安装了 3 个不同版本的两步验证插件: Authy Two Factor Authentication、Google 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 登录二次验证 为柠之漠然原创文章,转载请注明出自
枫之落叶
并保留本文有效链接:https://blog.shiniv.com/2015/07/wordpress-login-with-two-fatch-auth/ , 转载请保留本声明!
wp的验证机制也越来越完善了