Google Recaptcha V2 Kullanımı
Google Recaptcha V2 Kullanımı ile ilgili makale yazacağız. Uzun zamandır sitemize içerik girmiyorduk böylelikle bir adım atmış olduk. Google Recaptcha’yı kullanım amacı bildiğiniz üzere form post bölümlerinde spam verilerden kurtulmaktır.
Öncelikli olarak Google Recaptcha’ya sitenizi ekleyin. Size altta bağlantı bırakıyorum, recaptcha panelinden yeni site ekleyin ve “ReCaptcha V2” daha sonra “onay kutusunu (checkbox)” seçiyorsunuz. Örnek adım aşağıdadır.
Seçimimizden sonra bize 2 adet key veriyor. Bir tanesi “site key” bir diğeri ise “secret key” dir. Bunlar bizim için gerekecektir.
Google Recaptcha V2 Kullanımı için 2 aşamalı bir yolumuz. Gelin sırasıyla yapalım. Önce örnek bir kullanım yapalım.
<html>
<head>
<title>Örnek Form Kullanımı</title>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
</head>
<body>
<form action="post.php" method="POST">
<input type="text" name="eposta">
<div class="g-recaptcha" data-sitekey="your_site_key"></div>
<br/>
<input type="submit" value="Submit">
</form>
</body>
</html>
Bu kısımda form’un içinde bir div açıyoruz classımızı şu şekilde tanımıyoruz: class=”g-recaptcha” ve data-sitekey=”your_site_key” yazan kısma ise Google’ın bize verdiği Site Key’i yazıyoruz.
Post işlemi Jquery Ajax ile yapmak isterseniz Jquery Ajax Form Post Uygulaması başlıklı makalemizi inceleyebilirsiniz.
Bu şekilde doğrulamayı Google recaptcha api’sine sorgulatmış olduk, buradan bize bir callback dönüyor. Buda bot doğrulaması sonucunda kişinin botmu yoksa gerçek bir kişimi olduğunun sonucudur.
Bunu ise PHP ile verileri çekip kontrol edeceğiz, kişi gerçek biriyse işleme devam edecek, eğer yok ise bu durumda hata döndereceğiz.
post.php dosyası oluşturup içini açıyoruz.
<?php
/* Google ReCaptcha Verification */
$url = 'https://www.google.com/recaptcha/api/siteverify';
$privatekey = "YOUR_PRIVATE_KEY";
$response = file_get_contents($url."?secret=".$privatekey."&response=".$_POST['g-recaptcha-response']."&remoteip=".$_SERVER['REMOTE_ADDR']);
$data = json_decode($response);
if (isset($data->success) AND $data->success==true)
{
// 1 numaralı kod bloğu (İşlem olumlu)
}
else
{
// 2 numaralı kod bloğu (İşlem başarısız)
header("location: index");
}
Burada $privatekey değişkeninin değerini Google’ın bize verdiği “Secret Keyi” giriyoruz. Eğer kişi doğrulamadan geçerse yukarıda ki “1” numaralı kod bloğu çalışacak, geçemez ise “2” numaralı kod bloğu çalışacaktır.
İşlemlerimiz bu kadar basit. Şu an kullanıma hazırsınız. Anlamadığınız bir yer olursa yorum yapmaktan çekinmeyin.
Anlamadım. Nasıl soru soracağız
Teşekkürler çok güzel bilgilendirici çalışma olmuş elinize sağlık
Ben bu Google Recaptcha sistemi yerine php ile resim üzerine random sayılar yazıyorum bunu session ile tutup misafirin doğrulamasını sağlıyorum
Bu bilgilendirici makale için teşekkürler.
Google captcha alternatifi olarak “Cloudflare Turnstile” incelemenizi öneririm, beğenerek kullanıyorum.
Çoğu web sitesinde kullanıyorum, %80 oranında spam gönderileri engellemede iyi çözüm.
botlardan büyük oranda kurtarıyor + login pageler için çok önemli
Bunu kullanmak güzelde lakin bunuda kırıyorlar çok basit şekilde.
Botlardan tam anlamda kurtarıyor mu acaba?
Gerçekten pratik bir çözüm sunmuşsunuz. İşimi kolaylıkla hallettim.
Google Recaptcha V2 ile ilgili ayrıntılı bilgi paylaşımı faydalı olmuş . Spam gönderiler için mantıklı .