Google reCAPTCHA Entegrasyonu (Robot Değilim Onay Kutusu)

RECAPTCHA NEDİR?

reCAPTCHA, web sitenizi dolandırıcılık ve kötüye kullanımdan korumak amaçlı google tarafından geliştirilen bot süzme aracıdır..

reCAPTCHA, kötü amaçlı yazılımların web sitenizde kötüye kullanım faaliyetlerine girmesini önlemek için gelişmiş bir risk analizi motoru ve uyarlanabilir zorluklar kullanır. Bu arada, yasal kullanıcılar giriş yapabilecek, alışveriş yapabilecek, sayfaları görüntüleyebilecek veya hesap oluşturabilecek ve sahte kullanıcılar engellenecektir.

Genel olarak işlem adımlarını özetleyecek olursak.

1.Google reCAPTCHA sayfasına kayıt.
2.İsteğin reCAPTCHA servisine iletilmesi.
3.reCAPTCHA servisinden dönen değerin işlenmesi.

1.ADIM

Aşağıdaki link aracılığı ile google recaptcha servisine kayıt yapıp size verilen kodları saklayın. Aşağıda kullanımını detaylı aktaracağız.
https://www.google.com/recaptcha/admin/create 

Doldurulması Gereken alanlar

Etiket: Uygulayamaya vereceğiniz isim (herhangi bir ad)

reCAPTCHA türü: s2,s3 (Bu yazıda size s2 türündeki "Robot değilim" Onay Kutusu) entegrasyonundan bahsedeceğim.

Alan Adları: Bir yada daha fazla alan adı girebilir aynı etiketi kullanabilirsiniz.

İsteğe bağlı olarak birden fazla mail hesabını ekleyip yetki verebilirsiniz. Bu 3 bilgiyi girerek kayıt işlemini bitirebilirsiniz.


2.ADIM

Sayfanıza api bağlantı scriptini ve butonunu ekleyin. Eklediğiniz butonun data-sitekey değerine kayıt sırasında google sayfasından aldığız kodu ekleyin.

Form üzerinde reCAPTCHA  buton tıklandığında bir dönüş değeri almış olacaksınız.

Form gönderildiğinde bu dönüş değeri secret-key ile eşleşip geri planda yazdığınız işlem kodunuzu doğrulayacak.

Api bağlantısını yaptıktan sonra class="g-recaptcha" sınıfını eklediğinizde onay kutunuz gelecektir. Sonrasında onay kutunuzun data-sitekey ve secret key alanlarını uygun şekilde işlemeniz gerekmektedir.

Api Bağlantısı<br><script src="https://www.google.com/recaptcha/api.js" async="" defer=""></script>

<form id="signupForm" novalidate  onsubmit="return false" >
	<div class="form-group">
	         <input type="text" name="name" placeholder="<?=ADSOYAD;?>" required="" class="form-group ">
	</div>
	<div class="form-group">
		<input type="text" name="phone" placeholder="<?=TELEFON;?>" required="" class="form-group ">
	</div>	
	<div class="form-group">
	        <input type="email" name="email" placeholder="<?=EMAIL;?>" required="" class="form-group ">
	</div>					
	<div class="g-recaptcha" data-sitekey="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"></div>
        <!--yukarıdaki xxx alanına reCAPTCHA servisinden aldığınız data key anahtarını yazın-->
	<button  type="submit" name="submit-form"><?=GONDER;?></button>
</form>

<!--Dönen Cevabın İşlenmesi-->

<?php 
if (isset($_POST['g-recaptcha-response'])) {
			$captcha = $_POST['g-recaptcha-response'];
}
if (!$captcha) {
	echo '<script>alert("Lütfen Robot Olmadığınızı Doğrulayınız");</script>';
}else{
	$response = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=xxxxxxxxxxxxxxxxxxx&response=" . $captcha . "&remoteip=" . $_SERVER['REMOTE_ADDR']);
<!--Yukarıdaki xxxx alanına secret codu ekliyoruz.-->
	$backtrue = json_decode($response,true);
      if(intval($backtrue["success"]) == 1) {
		echo "Robot kontrolü başarılı.";
}}?>

Html bir sayfada php sunucuda hızlı bir robot doğrulamasını recaptcha Robot Değilim Onay Kutusu ile yaptık. Diğer versiyonları inceleyerek kendinize uygun olanı seçebilirsiniz mantık aynı şekilde işlem adımları farklılık gösterebilir.

reCAPTCHA api sayfasındaki ayarlardan işlem zorluğunu ayarlayabilirsiniz. Site güvenliğini arttırmak için aşılması muhtemel basit resim yada matematiksel işlemler yerine bu google servisini kullanabilirsiniz. 
E.Albayrak

2 Yorum

Melike Tan

Melike Tan

1 yıl önce

reCAPTCHA üyeliği nasıl yapılır yardımcı olursanız sevinirim.

Kerem Baykuş

Kerem Baykuş

1 yıl önce

https://www.google.com/recaptcha/about/ sitesinde üyelik oluşturup kullanıma başlayabilirsiniz.

Soru & Yorum


Web Tasarım

Renkli Kare

Web Tasarım Ajansı