Php ile Google reCaptcha kullanımı

Php ile Google reCaptcha kullanımı

 3 ay önce  Php   Ekimnet    163



Php ile reCaptcha nasıl kullanılır? sorusuna geçmeden önce reCaptcha nedir, ne için kullanılır, nasıl aktif edilebilir? gibi soruları yanıtlayalım.

Öncellikle reCaptcha nedir onu tanıyalım dilerseniz.

Google reCaptcha Nedir ne için Kullanılır ?

newcaptcha-gif

Birçok sitede gördüğümüz reCaptcha ( bot sorgulama ) yani insanlığımızı sorgulayan bu onay kutulu eklenti bizi birçok dertten kurtarıyor. Aslında cevabınıda vermiş olduk fakat dahada açarsak konuyu sitenizde bulunan iletişim formu yada yorum alanı gibi bölümlere kötü niyetli botlar ile yüzlerce yorum binlerce iletişim mesajı yada sitenize üye olmaya çalışırlar. Bu gibi durumların önüne geçmek için Google'nin ücretsiz olarak sunduğu bu araç sayesinde bu botlardan bir nebzede olsa kurtulmuş oluyoruz. 

Peki bu sistemi nasıl aktif edebiliriz.

Google reCaptcha Nasıl Aktif Edilir ?

Bu sistemi kullanabilmek için öncelikle bir google hesabımızın olması gerekiyor. Google hesabınız olduğunu varsayarak buradan Google reCaptcha konsoluna giriş yapıyoruz. Giriş yaptıktan sonra karşımıza gelen ekrandan gerekli bilgileri doldurarak api key ve secrec key olarak iki tane anahtar üretilecek. Bu anahtarlar sayesinde sitemizde Google reCaptcha aktif etmiş olacağız fakat sisteme henüz dahil etmediğimiz için herhangi birşey olmayacak tabikide. şimdide gelin sitemize nasıl entegre edeğiz onu öğrenelim. Burada anlatacağım yöntem php ile yazılmış sistemler için olacak. hazır sistemler için eklentiler mevcut fakat siz hali hazırda bir php geliştiriciyseniz ozaman ihtiyacınız olan yapıyı aşağıdaki gibi kullanabilirsiniz.  

Php ile Google reCaptcha Kullanımı 

Google reCaptcha doğrulama yöntemini sistemimiz de kullanabilmek için  Google'nin bize vermiş olduğu javascript kodunu sitemize dahil etmemiz gerekiyor. kodumuz aşağıdaki gibi olacaktır.

<script src="https://www.google.com/recaptcha/api.js?hl=tr"></script>

Googlenin bize vermiş olduğu bu javascript kodunun sonundaki "tr" ile biten bölüm, bize Google reCaptcha doğrulama sistemini hangi dilde kullanacağımızı belirtiyor. Diğer tüm diller için şuradaki adrese göz atabilirsiniz. Şimdi aşağıda size basit bir form  ve fonksiyon ile Google reCaptcha'yı sitemize nasıl dahil ettiğimizi göstermek istiyorum.

Aşağıda vereceğim kod içerisinde belirteceğim bölümleri siz kendi apikey ve secret keyinizle değiştireceksiniz.

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Ekimnet.com Google ReCaptcha Kullanımı </title>
        <!-- Google ReCaptcha Javascript Kodu Başlangıç -->
	<script src="https://www.google.com/recaptcha/api.js?hl=tr"></script>
        <!-- Google ReCaptcha Javascript Kodu Bitiş -->
</head>
<?php
// Ekimnet.com Google reCaptcha foksiyon başlangıç
function kontrol($captcha){
  $g= [
          'secret' => 'Google reCaptcha secret key buraya yazılacak',
          'response' => $captcha
        ];
        $ch = curl_init('https://www.google.com/recaptcha/api/siteverify');
        curl_setopt_array($ch,[
           CURLOPT_POST => true,
           CURLOPT_POSTFIELDS => http_build_query($g),
            CURLOPT_RETURNTRANSFER => true
        ]);

        $result = curl_exec($ch);
        curl_close($ch);
        return json_decode($result,true);
}

// Ekimnet.com Google reCaptcha foksiyon bitiş
// Ekimnet.com Google reCaptcha doğrulama koduyla gönderilmiş post başlangıç

if ($_POST) {
  if (isset($_POST['user_name'])) // böyle bir post varmı kontrol ediyoruz
      $user_name = $_POST['user_name']; // varsa $user_name değişkenine yazıyoruz. 
if (isset($_POST['g-recaptcha-response']))  // recaptcha kodu gönderildimi konrtol ediyoruz
      $reCaptcha = $_POST['g-recaptcha-response']; // gönderildiyse $reCaptcha değişkenine yazıyoruz

if(!isset($user_name))
 echo '<h2>Lütfen Adınızı yazınız.</h2>'; // Kullanıcı adı boşsa hata mesajı gösteriyoruz.
if(!isset($reCaptcha ))
 echo '<h2>Lütfen Bot Olmadığınızı Doğrulayın.</h2>'; // reCaptcha  boşsa hata mesajı gösteriyoruz.

  $kontrol= kontrol($reCaptcha ); // doğrulama kodunu foksiyonumaza gönderiyoruz şayet doğruysa bize true ( 1 ) döndürecek

  if ($kontrol['success'] == 1) {
/// form kayıt işlemlerini yapabilşrsiniz artık
      echo '<h2>Harika bot olmadığınız başarıyla doğruladınız!</h2>';
  } else {
      echo '<h2>Lütfen Bot Olmadığınız doğrulayın </h2>'; // doğrulama başarısız oldu
  }
}
// Ekimnet.com Google reCaptcha doğrulama koduyla gönderilmiş post bitiş


?>


<body>
      <form id="yorum" action="" method="post">
      <input type="text" placeholder="adınız" name="user_name"><br><br>
      <!-- Google ReCaptcha Kodu Başlangıç -->
      <div class="g-recaptcha" data-sitekey="Google reCaptcha Site key buraya yazılacak"></div>
      <!-- Google ReCaptcha Kodu Bitiş -->
      <input type="submit" name="submit" value="Gönder"><br><br>
    </form>
	
</body>
</html>

Gördüğünüz gibi oldukça basit bir işlemle sitemize Google reCaptcha 'yı entegre ettik.


Etiket: Google reCaptcha google php reCaptcha doğrulama bot engelleme spam bot form dogrulama




İçerik 5 kere oylandı.


Ortalama oylama 4.6000 .



İlk yorumu siz yazın!

Bu konu için hiç yorum yazılmamış, ilk yorumu siz yazarak destek verin!

Yorum Yaz
Yorum Yaz