Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengesahan keselamatan PHP dengan Google Authenticator

Pengesahan keselamatan PHP dengan Google Authenticator

PHPz
PHPzasal
2023-07-24 23:53:152390semak imbas

Pengesahan keselamatan PHP melalui Google Authenticator

Dengan perkembangan Internet, keselamatan maklumat pengguna telah mendapat lebih banyak perhatian. Untuk melindungi keselamatan proses log masuk pengguna, pengesahan dua faktor sering digunakan. Google Authenticator ialah alat pengesahan dua faktor yang digunakan secara meluas yang menyediakan cara yang selamat dan boleh dipercayai untuk mengesahkan log masuk anda. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan pengesahan selamat Google Authenticator.

Pertama, anda perlu memasang pek sambungan Google Authenticator. Buka terminal dan gunakan Composer untuk memasang pakej sambungan:

composer require robthree/twofactorauth

Selepas pemasangan selesai, kami boleh melaksanakan pengesahan keselamatan Google Authenticator melalui kod PHP.

Pertama, kita perlu menjana kunci dan kod QR untuk diimbas oleh pengguna. Anda boleh menggunakan kod berikut untuk menjananya:

require_once 'vendor/autoload.php';

use RobThreeAuthTwoFactorAuth;
$auth = new TwoFactorAuth("Your App Name", 6, 30);  // 创建一个 TwoFactorAuth 实例,设置应用名称、认证码长度以及每个认证码的有效时间

$secretKey = $auth->createSecret();  // 生成一个随机的密钥
$qrCodeUrl = $auth->getQRCodeImageAsDataUri("User Name", $secretKey);  // 生成一个供用户扫描的二维码,其中包含用户名和密钥

echo "密钥:$secretKey<br/>";
echo "<img src='$qrCodeUrl' alt='二维码'/>";  // 显示二维码供用户扫描

Jalankan kod di atas dan anda akan mendapat kunci yang dijana secara rawak dan kod QR.

Seterusnya, kita perlu mengesahkan sama ada kod pengesahan yang dimasukkan oleh pengguna adalah betul. Anda boleh menggunakan kod berikut untuk mengesahkan:

require_once 'vendor/autoload.php';

use RobThreeAuthTwoFactorAuth;
$auth = new TwoFactorAuth("Your App Name", 6, 30);  // 创建一个 TwoFactorAuth 实例,设置应用名称、认证码长度以及每个认证码的有效时间

$secretKey = "用户的密钥";  // 用户输入的密钥

if ($auth->verifyCode($secretKey, "用户输入的验证码")) {  // 验证用户输入的验证码是否正确
    echo "验证通过";
} else {
    echo "验证失败";
}

Jalankan kod di atas dan mesej gesaan yang berbeza akan dikeluarkan berdasarkan hasil pengesahan.

Dengan contoh kod di atas, kita boleh menggunakan Google Authenticator untuk melaksanakan fungsi pengesahan keselamatan PHP. Semasa proses log masuk, pengguna perlu mengimbas kod QR dan memasukkan kod pengesahan dinamik untuk melengkapkan pengesahan identiti. Kaedah pengesahan dua faktor ini boleh meningkatkan keselamatan proses log masuk dan mencegah serangan berniat jahat dengan berkesan.

Atas ialah kandungan terperinci Pengesahan keselamatan PHP dengan Google Authenticator. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn