Rumah > pembangunan bahagian belakang > tutorial php > Pengesahan keselamatan PHP dengan Google Authenticator

Pengesahan keselamatan PHP dengan Google Authenticator

PHPz
Lepaskan: 2023-07-25 06:32:01
asal
2605 orang telah melayarinya

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
Salin selepas log masuk

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='二维码'/>";  // 显示二维码供用户扫描
Salin selepas log masuk

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 "验证失败";
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan