我遵循此处解释的相同方法。
我正在使用PHPGangsta_GoogleAuthenticator,如下所示:
$ga = new \PHPGangsta_GoogleAuthenticator();
$qrCodeUrl = $ga->getQRCodeGoogleUrl(urlencode('trading.com/'.$user->email), $user->two_fa_secret);
如果用户的电子邮件地址 = someguy@mysite.com,则应用程序将显示“trading.com/someguy@mysite.com”。第二个参数是用于生成代码的实际秘密。
令我烦恼的是,它会生成以下内容:
<img src="https://api.qrserver.com/v1/create-qr-code/?data=otpauth%3A%2F%2Ftotp%2Ftrading.com%252Fsomeguy%2540mysite.com%3Fsecret%3D4UYJ************&size=200x200&ecc=M" alt="Loading....">
实际应用程序的秘密是:XOB*************,因此它不会在 URL 中公开实际秘密。但是这个网址不能被恶意使用吗?
我想知道:
- 如果我不应该使用 URL 来下载 QR 码,而不是使用 PHPGansta 库生成的 URL 来显示它?
- 如果 api.qrserver.com 不是安全威胁,因为我的意思是,他们是谁?我正在向他们发送通过 2fa 身份验证所需的所有详细信息。所以 api.qrserver.com 的漏洞对我来说是非常糟糕的。或者是 api.qrserver.com = google,因此可以吗?