img
Google Authenticator Kullanımı Php Anlatım

Google Authenticator Kullanımı Php Anlatım

Google Authenticator kaynak dosyalarını edinmek için içerisinde qr code oluşturucu da barındıran linkini vermiş olduğum github reposunu ziyaret ediyoruz.

https://github.com/sonata-project/GoogleAuthenticator

Ardından Composer aracılığıyla, aşağıdaki komutu kullanarak dosyaları projemizin olduğu dizine çekiyoruz.

composer require sonata-project/google-authenticator

Google Authenticator için Google üzerinden alacağınız bir api key veya secret'a ihtiyaç yoktur. Secret kodunu belli başlı algoritmaya göre her kullanıcı için biz oluşturucağız. Bu anahtar değerini kullanıcı görmeyecek ancak, ilk Google Authenticator kurulumunda bu kod ile karekod oluşturulacağından her kullanıcı için farklı bir secret oluşturup veri tabanında saklamakta fayda var. Bu kısmı kullanıcı sitenize kayıt olduğunda otomatik yapabilirsiniz.

Google'ın istediği standartlara göre rastgele secret oluşturan fonksiyonumuz.

16 Haneli ve 0,1,8,9 karakterlerini içermemektedir.

function generateRandomString($length = 10) {
    $characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567';
    $charactersLength = strlen($characters);
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, $charactersLength - 1)];
    }
    return $randomString;
}

echo generateRandomString(16);

Kodların birleştirilmiş hali, satırlara olabildiğince açıklama ekledim.

<?php

declare(strict_types=1);
require 'vendor/autoload.php';
$secret = 'XVQ2UIGO75XRUKJY'; //BURADAKİ SECRET YUKARIDA VERDİĞİM FONKSİYON İLE RASTGELE TÜRETİLEBİLİR.

$user = "okan"; //GİRİŞ YAPMAKTA OLAN KİŞİNİN KULLANICI ADI VEYA E-POSTA ADRESİ

$siteadresi = "viptema.com";

$qrcode = \Sonata\GoogleAuthenticator\GoogleQrUrl::generate($user, $secret, $siteadresi);
$g = new \Sonata\GoogleAuthenticator\GoogleAuthenticator();


// AŞAĞIDAKİ SATIRI AÇTIĞINIZDA KAREKODU AÇACAK OLAN 6 HANELİ KODU GÖREBİLİRSİNİZ. SCRİPTİNİZ ÇALIŞIYORSA BU KODU TEKRAR YORUM SATIRI YAPIN!
//echo $g->getCode($secret);

if (isset($_POST['submit'])) {
	$code = $_POST['pass-code'];
	if ($g->checkCode($secret,$code)) {
		echo "Helal olsun kodu doğru girdin";
	}else{
		echo "Hassiktir kodu yanlış girdin.";
	}
}
?>

<img src="<?=$qrcode?>">

<form action="" method="post">
	<input type="text" name="pass-code">
	<button type="submit" name="submit">Tamam</button>
</form>

İlk Yorumu Yapan Sen Ol!

Web Tasarımlar

  • Lisans Yönetim Scripti 2

    24.6K
    1440.00₺
  • Canlı Radyo Dark Scripti

    16.7K
    1440.00₺
  • Canlı Radyo Light Scripti

    9.8K
    1440.00₺
  • Rüzgar Radyo Scripti

    9.6K
  • Radyo Minimal

    5.2K
    1440.00₺
  • Ekitap Scripti

    7.3K
    4320.00₺
  • Aşk Sevgililer GünüEvlilik

    9.2K
    1440.00₺
  • Sohbet Scripti

    9.3K
  • Dialog Whatsapp Benzeri Sohbet

    5.9K
  • Firebase Chat

    4.7K
  • Web Ajans Scripti

    30.3K
    5040.00₺
  • Google Indexing Api

    1.5K
    720.00₺
  • Milando Radyo Wordpress Teması

    2.1K
    1440.00₺

Vip Tema Web Ajans Yazılımı

Profesyonel ve her yönü ile kontrol edilebilir gelişmiş çok özellikli ajans yazılımıdır. İşte öne çıkan özellikler.

  • PAYTR Ödeme Entegrasyonu
  • SHIPY Ödeme Entegrasyonu
  • WHM Hosting Satış Entegrasyonu
  • Domain Sorgulama/Satış Entegrasyonu
  • Google Authenticator
  • SMS 2 Faktörlü Doğrulama
  • Net Gsm SMS Entegrasyonu
  • İleti Merkezi SMS Entegrasyonu
  • İnteraktif SMS Entegrasyonu
  • Mas GSM SMS Entegrasyonu
img