Google reCaptcha v3 admin konsoluna gitmek için https://www.google.com/recaptcha/admin/ linke tıklayın.
Kullanmak istediğiniz sitenin alanadını girdikten sonra size lazım olacak olan site anahtarı ve gizli anahtardır.
Formunuzun bulunduğu sayfada body etiketinin üstüne aşağıdaki kodları kendi bilgilerinize göre düzenleyip kaydedin.
<script src="https://www.google.com/recaptcha/api.js?render=SITE_ANAHTARI"></script>
<script>
function calistir() {
grecaptcha.ready(function() {
grecaptcha.execute('SITE_ANAHTARI', {action: 'uyari'})
.then(function(cevap) {
$('#guvenlik').val(cevap);
});
});
}
calistir();
</script>
Form yapımız ise aşağıdaki gibi olsun.
<form method="post" id="lisanssorgula" name="lisanssorgula">
<input type="url" name="alanadi">
<input type="hidden" name="guvenlik" id="guvenlik">
<button type="submit" name="sorgula" class="btn btn-light">Sorgula</button>
</form>
Yukarıda ki formda bulunan hidden gizli tipli inputa aslında jquery ile her sayfa yenilenmesinde oluşan benzersiz değeri yüklemiş oluyoruz. Form post edildiğinde Google tarafında buna bir puan verilecek. Verilecek olan puana göre kişinin bot mu gerçek bir insan mı olup olmadığını anlıyoruz. Bu kontrol sunucu tarafında yapılıyor. Gelen cevabı aşağıdaki php fonksiyon yardımı ile kontrol ediyoruz. Fonksiyonu tüm fonksiyonlarınızın bulunduğu dosyaya ekleyerek tüm formlarda kullanmak üzere hazır edebilirsiniz.
function guvenlikKontrol($cevap){
$secret = "google_v3_secret";
$ip = $_SERVER['REMOTE_ADDR'];
$baglan = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$secret."&response=".$cevap."&remoteip=".$ip);
$json = json_decode($baglan);
return $json;
}
Tüm post bilgilerinin gönderildiği sayfada bot-insan ayrımını yapalım. Eğer ki google tarafından verilen puan 0.5 'ten büyükse bot değil, 0.5'ten küçükse bot olarak değerlendiriyoruz.
$kontrol = guvenlikKontrol(post('guvenlik'));
if ($kontrol->success == 1 and $kontrol->score > 0.5) {
echo "Ziyaretçi bot değil";
}else{
echo "Ziyaretçi bot!";
}
Profesyonel ve her yönü ile kontrol edilebilir gelişmiş çok özellikli ajans yazılımıdır. İşte öne çıkan özellikler.