Php Google Invisible Recaptcha Example

This article will examine the examples of Google Invisible captcha that will save your sites from spam with php.

Php ile Google görünmez captcha nasıl projelerimize entegre edebiliriz ve kolaylıkla tüm sayfalarımızda nasıl kullanabileceğimizi sizlere anlatacağız.

Geleneksel olarak kullandığımız eski doğrulamalı captcha’lar gibi kullanıcıları yormuyor ve sisteminizin daha anlaşılır – güvenli kullanımına olanak sağlıyor.

Öncelikli olarak Google captcha sayfasına girip, yeni site ekleyerek işe başlıyoruz. Alttaki bağlantıdan sayfaya ulaşabilirsiniz.

istanbul escort bakırköy escort avrupa yakası escort merter escort istanbul escort beylikdüzü escort şirinevler escort
google captcha login

İlk olarak Google hesabınız ile giriş yapıp, yeni site ekle butonunu kullanarak ekleme sayfasına ulaşıyoruz.

recaptcha v2 hidden

Burada site bilgilerinizi yazıp, reCaptcha s2 seçip, daha sonra ise “Görünmez recaptcha rozeti” seçeneğini işaretliyoruz. Sitenizi ekleyip, sözleşmeyi onayladıktan sonra karşınıza şu ekran gelecektir.

google captcha site key and secret key

Burada ise proje’mizde kullanacağımız Google Invisible Recaptcha için “site key” ve “secret key” kısımlarını bizlere verdi. Bu bilgileri bir yere kaydedin, çünkü kodlarımızda bu bilgilere ihtiyacımız olacak.

Gelin şimdi örnek bir uygulama ile nasıl kullanım yapabileceğinizi gösterelim.

Google Invisible Recaptcha Example

Öncelikle GoogleCaptchaControl.php isminde bir dosya oluşturun ve aşağıdaki kodları içine yapıştırıp kaydedin.

<?php
function post_captcha($user_response)
{
	$fields_string = '';
	$fields = array(
		'secret' => 'your secret key',
		'response' => $user_response
	);
	foreach($fields as $key=>$value)
		$fields_string .= $key . '=' . $value . '&';
	$fields_string = rtrim($fields_string, '&');
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, 'https://www.google.com/recaptcha/api/siteverify');
	curl_setopt($ch, CURLOPT_POST, count($fields));
	curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, True);
	$result = curl_exec($ch);
	curl_close($ch);
	return json_decode($result, true);
}
$res = post_captcha($_POST['g-recaptcha-response']);

Yukarıdaki Php kodlarımızda “your secret key” yazan alana, Google’ın bize verdiği “Gizli Anahtarı (secret key)” buraya yapıştırıp kaydediyoruz. Böylelikle fonksiyon dosyamızda artık işimiz kalmadı.

'secret' => 'your secret key',

Bu noktadan sonra ise bu fonksiyonumuzu tüm sayfalarda kullanmak için, include ile sayfaya dahil edirek sadece form elemanlarına gereken değerleri vermeniz yeterli olacaktır.

Örnek kullanım ise şu şekildedir.

<!DOCTYPE html>
<html lang="tr">
<head>
  <meta charset="UTF-8">
  <script src="https://www.google.com/recaptcha/api.js" async defer></script>
<script>
    function onSubmit(token) {
        document.getElementById("i-recaptcha").submit();
    }
</script>
<?php include_once("GoogleCaptchaControl.php"); ?>
</head>
<body>
  <form action="#" method="POST" id='i-recaptcha'>
   <input type="text" name="name">
    <button class="g-recaptcha" data-sitekey="YourSiteKey" data-callback="onSubmit">Send</button>
  </form>
  
</body>
</html>

Test yaptığınızda kolaylıkla çalıştırdığınızı göreceksiniz. Yukarıdaki formumuzda submit butonunda data-sitekey=”YourSiteKey” yazan kısma ise Google captcha’dan aldığımız “site anahtarını” yazmayı unutmayın.

Örnek uygulamayı indirip incelemek için alttaki butonu kullanabilirsiniz.


Bu şekilde tüm sayfalarınızda kullanabilirsiniz. Include ettiğimiz için sadece form’lara değerleri vermeniz yeterli olacaktır, geri kalan işi fonksiyonumuz hallediyor.

Translate »