Google Recaptcha WordPress’e Nasıl Eklenir?



google captchaGoogle Recaptcha WordPress siteye nasıl eklenir?

Spam yorumlardan kurtulmak için pek çok araç var.  Herkes için en iyi farklı olabilir. Ve ya yeni pluginler , kodlar denemek isteyebilirsiniz. Bende bu spam yorumlardan kurtulmak için kodlar ve pluginler deniyorum.

Ve Google’un Recaptcha korumasını denemek istedim. Her ne kadar Plugin olsada işini kodlar ile yapmak isteyenler için Google’un Recaptcha uygulamasını temanıza nasıl   kodlar ile ekleyebileceğinizi anlatacağım.

 

Öncelikle Google Recaptcha’yı sitemizde kullanmak için buraya tıklıyoruz. Açılan sayfada alanları dolduruyoruz:

Google Recaptcha kaydı

Register a new site= Yeni site kaydı

Label: sitemizi temsilen bir etiket giriyoruz. Ben teknohaber yazdım.

Domains: Domain ismini yazıyorsunuz. Her domain için tek satır demiş ancak her domain için ayrı oluşturabiliyorsunuz. Tavsiyem birden fazla domaininiz var ise tek etiket oluşturun.

Ben bu alana tek domain yazdım. Ve register’a tıklayın

Dilerseniz özel ayarlardan güvenlik kısmını arttırabilirsiniz. Ve ardında Save Changes ayarları kaydet’e tıklayın)

Google Recaptcha güvenlik ayarı

Şimdilik ayarları yaptık. Sitemize eklemedik. Siteye eklemek için Burada bize özel olarak sunulan Site key ve Secret key var. 

Google Recaptcha secret key

Ve recaptcha/api.js, g-recaptcha ve google’a gönderilmesi gereken bilgiler kaldı bu aşamada onları tamamlayacağız.

Adım 1:

Temamızın function.php dosyasını açıp aşağıdaki kodları ekleyelim. Ve sizin site keyiniz kısmına size verilen keyi giriniz.

/*Add Google captcha field to Comment form*/

add_filter('comment_form','add_google_captcha');

function add_google_captcha(){
    echo '
<div class="g-recaptcha" data-sitekey= "sizin site key=== "></div>
';
}

/*End of Google captcha*/

Adım 2: Temanızın single.php dosyasını açın.ve aşağıdaki kodu bulun.

get_footer()

bu kodun üzerine aşağıdaki kodları yapıştırın. Ancak domain isminizi ve tema isminizdeki düzenlemeleri yapınız.

<script src='https://www.google.com/recaptcha/api.js'></script>
<script type="text/javascript">
jQuery("#submit").click(function(e){
        var data_2;
    jQuery.ajax({
                type: "POST",
                url: "http://alanadı.com/wp-content/themes/temaisminiz/google_captcha.php",
                data: jQuery('#commentform').serialize(),
                async:false,
                success: function(data) {
                 if(data.nocaptcha==="true") {
               data_2=1;
                  } else if(data.spam==="true") {
               data_2=1;
                  } else {
               data_2=0;
                  }
                }
            });
            if(data_2!=0) {
              e.preventDefault();
              if(data_2==1) {
                alert("Please check the captcha");
              } else {
                alert("Please Don't spam");
              }
            } else {
                jQuery("#commentform").submit
           }
  });
</script>

 

Adım 3: Ve son adıma geldik.
google_captcha.php isminde bir .php dosyası oluşturun ve içerisine aşağıdaki kodları kopyalayıp kaydedin.Ancak kodların içindeki sizin secret keyiniz kısmına size verilen secret keyi yazınız. 

<?php
    $data;
    header('Content-Type: application/json');
    error_reporting(E_ALL ^ E_NOTICE);
    if(isset($_POST['g-recaptcha-response'])) {
      $captcha=$_POST['g-recaptcha-response'];
    }
    if(!$captcha){
      $data=array('nocaptcha' => 'true');
      echo json_encode($data);
      exit;
     }
     // calling google recaptcha api.
     $response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=sizin secret key&response=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']);
     // validating result.
     if($response.success==false) {
        $data=array('spam' => 'true');
        echo json_encode($data);
     } else {
        $data=array('spam' => 'false');
        echo json_encode($data);
     }
?>

Ve Sonuç:
Artık yorum kutusunun altında google Recaptcha var. Ve pluginsiz olarak kodlar ile ekledik.

Google Recaptcha doğrulama

Peki gelelim Re-google captcha spama karşı sitenizi koruyor mu sorusuna.

Açıkçası ben web sitelerime eklemiş olmamama rağmen bir süre sonra kaldırdım. Sebebi ise bende spamı tam olarak engelleyemedi. Ancak bunun neden olduğu tabii ki bilinmez. Belki temadaki kodlar ile çakıştı yada belkide gerçekten spamı engelleyememe gibi bir durum var, net bişey demem güç. Şayet böyle bir  durum var ise Google bir güncelleme ile bu durumu düzeltebilir. Sizlerde deneyip deneyimlerinizi bizimle paylaşabilirsiniz. Bakalım Re-captcha’yı sizler siteleriniz de beğenecek misiniz.



2 Yorum

  1. Bir kullanıcı 16 Şubat 2017 Alıntıla
    • Nimet Tuba ÖzYönetici 16 Şubat 2017 Alıntıla

    Yorum Bırakabilirsiniz

    E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir