Google Authenticator / D令牌 网页版

Google的两步验证想必大家都有听说过或者用过吧,至于D令牌则是DnsPod的两步验证,用的其实也是Google Authenticator的一模一样的算法,而Google Authenticator的算法实际上是一个叫做HOTP(参考)的东西。
由于算法是开源的,那也就是说可以用任何方法来实现它。这里我直接选了我最熟悉的php来写。考虑到这个东西肯定有人已经写过了,所以Google一下找到了这么一个神奇的类库(参考)。这个类库可以实现一些简单的功能,比如生成当前时间的二次认证的token,比如验证一个token和它的secret key是不是一致(前后差距可以有两分钟)之类的。用法我就不仔细说了,自己戳到参考链接里面可以看到详细的用法和完整的源码,这里我来说说我写的这个HOTP网页版怎么用。

由于代码比较长,所以我把代码贴到了Gist里,!猛戳这里查看!,直接从上面把代码复制下来放到一个php文件里面就好了。

看到开头的配置部分,修改对应的参数就能使用了。第一个密码是打开这个网页的需要密码,为了保密性而防止其他人使用的一个验证措施。后面是对应的账户标题和密钥。前面的标题可以随便写,只要自己能记住这个密钥是哪个账户的就行了,而后面的密钥要怎么获取呢?在DnsPod和Google绑定两步令牌的时候,我们看到的都是二维码。但是这个二维码下面会有一行小字,类似于“无法扫描二维码?”或者“手动输入绑定”之类的,点击就能看到一个密钥。把里面的空格去掉,无视大小写粘贴到php里面就行了。
首次打开的时候会让你输入密码,输入在php里面设定的那个密码就行。或者你也可以这样访问它:http://your/path/to/totp.php?key=你的密码 , 这样就不需要输入密码也能够看到你的令牌了。它会30s自动刷新,要保证你的服务器时间和标准时间误差不超过2分钟哦,不然密码就没用了。至于时区倒是不那么重要,反正是基于GMT标准时的。

评论

babytomas

几个月前还可以免费试用,现在的话是蛋疼的了。
不过表示也没啥用 。。。

发表评论

发表评论代表你授权本网站存储并在必要情况下使用你输入的邮箱地址、连接本站服务器使用的 IP 地址和用户代理字符串 (User Agent) 用于发送评论回复邮件,以及将上述信息分享给 Libravatar Akismet,用于显示头像和反垃圾。