reCAPTCHA Kurulumu – Kullanımı
CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) websitelerindeki formların bir insan tarafından doldurulduğunun doğrulanması amacıyla kullanılan bir güvenlik projesidir. İnternetin gelişmesiyle beraber özellikle kullanıcı sayısı fazla olan websitelerinin kendilerini bir şekilde botlardan korumaya aldığını görüyoruz. Korunmak için
kendi güvenlik önlemlerinizi alabileceğiniz gibi, dünyayı yeniden keşfetmenin anlamı olmadığını düşünenlerdenseniz sizi şöyle alalım efendim.
Neden reCAPTCHA diyenler için kendileri şöyle açıklamışlar:
- Herşeyden önce ücretsiz bir servis.
- Bana göre çok işlevsel görünen bir özelliği var ki, websitelerine eklenen bu servis sayesinde önceden taranmış kitapların dijital ortama aktarılmasına yardımcı oluyorsunuz. Ayrıntılı bilgi için buradan.
- Kullanıcılar kelimleri okuyamadığında ses desteği de mevcut.
- Güvenilirdir. Diğer CAPTCHA yöntemleri kırılabilirmiş.
- 100.000′ e yakın websitesi reCAPTCHA’ yı kullanıyor. En bilinenleri ise Facebook, Ticketmaster ve Craigslist.
- Son olarak kullanımı kolay ve çeşitli diller için dökümanlar mevcut.
Evet bu kadar hikayeden sonra gelelim servisi nasıl kullanacağımıza. Öncelikle buraya tıklıyoruz ve formu doldurduktan sonra servise üye oluyoruz. Sonrasında karşımıza gelen ekranda Domain yazan bölüme sitemizin adresini (eğer birden fazla websiteniz var ve hepsinde kullanmak istiyorsanız “Enable this key on all domains (global key)” yazan kutucuğu işaretliyoruz.) yazıyoruz ve “Create Key” yazan butona tıklıyoruz. Bu işlemleri bitirdikten sonra daha sonra kullanacağımız Public Key ve Private Key bilgileri ekrana geliyor.
Bu işlemleri de bitirdikten sonra bizim için asıl önemli aşamaya geçiyoruz. Websitenizde kullandığınız programlama diline göre veya kullandığınız sisteme göre reCAPTCHA’yı nasıl ekleyeceğiniz kaynaklar bölümünde detaylıca verilmiş.
Biz PHP dili için örnek bir uygulama yapalım.
İlk adımda PHP reCAPTCHA kütüphanesini indiriyoruz. Download
Sonrasında sıkıştırılmış dosyayı açıyor ve formun barındığı dizine kopyalıyoruz.
Şimdi formun bulunduğu PHP sayfasına aşağıdaki kodları ekleyeceğiz. Bu güvenlik kodunun görünmesini sağlayacak.
require_once('recaptchalib.php'); $publickey = "..."; // servise üye olduktan sonra aldığımız Public Key echo recaptcha_get_html($publickey);
Tabii bir de bunun doğruluğunu kontrol etmemiz gerekiyor. Formu kontrol ettiğimiz PHP sayfasına da aşağıdaki kodları ekliyoruz.
require_once('recaptchalib.php'); $privatekey = "..."; // Servise üye olduktan sonra aldığımız Private Key $resp = recaptcha_check_answer ($privatekey, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]); if (!$resp->is_valid) { die ("Güvenlik kodu doğru girilmedi. Geri dönün ve tekrar deneyin" . "(reCAPTCHA said: " . $resp->error . ")"); }
Örnek bir uygulama için buradan.
Örneği dosya halinde indirmek isteyenler için. Download
Güncelleme(23.07.2009):
WordPress – reCAPTCHA entegrasyonu için bir eklenti hali hazırda mevcut. reCAPTCHA ile oluşturulmuş güvenlik kodunu yorum göndermede, sayfalarda veya yazılarınızda kullanabilirsiniz. Eklenti ile ilgili ayrınıtılı bilgi almak ve indirmek için buradan.
Soru, görüş ve önerileriniz için ne yapmanız gerektiğini biliyorsunuz





formun bulunduğu PHP sayfası,Formu kontrol ettiğimiz PHP sayfası… bunlar ne demek kardes, daha aciklayici olur musun? Hangikodu hangi .php sayfasina eklicez?
@soru soran, örneğin elimizde bir yorum ekleme formu var ve bu formda isim, e-mail, yorum ve güvenlik kodu elamanları var. Bu formun gittiği bir PHP sayfası olmalıdır(action). İlk kodu formun bulunduğu PHP sayfasına, ikincisini de formun gönderildiği sayfaya ekleyeceğiz. Örnekte bu iki işlemi tek bir sayfada anlattığım için aydınlatıcı olmayabilir. Şu sayfayı inceleyebilirsin.
http://www.catycat.net/php-ile-formlari-ayni-sayfada-donderme
spam yorumların önlenmesinde çok etkili fakat kulacılar için biraz zorluk çıkarıyor. çünkü okunması zor kelimeler çıkabiliyor.
@öğretmen
Evet okunması zor kelimeler maalesef sorun çıkarıyor ama kelimeyi yenileme özelliği ile bunu çözmüşler zaten. Bu arada ek bir bilgi olarak Google reCAPTCHA’yı satın aldı.