Merhabalar,

CAPTCHA

CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) Carnegie Mellon School of Computer Science tarafından geliştirilen bir projedir. Projenin amacı bilgisayar ile insanların davranışlarının ayırt edilmesidir ve daha çok bu ayrımı yapmanın en zor olduğu web ortamında kullanılmaktadır.

CAPTCHA projesinin bazı uygulamalarına çoğu web sayfalarında rastlamak mümkündür. Üyelik formlarında rastgele resim gösterilerek formu dolduran kişiden bu resmin üzerinde yazan sözcüğü girmesi istenir. Buradaki basit mantık o resimde sadece insan tarafından okunabilecek bir program tarafından okunması zor olan bir sözcük oluşturmak. Eğer forma girilen sözcük resimdeki ile aynı değilse ya formu dolduran kişi yanlış yaptı ya da formu dolduran bir program önermesini yapabilir.
Kaynak



CAPTCHA Kullanımı



Yukarıdaki VikiPedi betimlemesinden sonra, CAPTCHA’yı PHP’de kullanmayı öğrenelim. Ben şahsen önemli sayfalarda tokenleri yeğlerim. Lakin CAPTCHA’yıda inceleme gayesindeyim.

Öncelikleşu bağlantıya tıklayarak, kendimize bir CAPTCHA üyeliği alalım. Akabinde "reCAPTCHA Admin: Login" başlıklı sayfadan hesabımıza giriş yapalım.

Artık CAPTCHA hesabımız var, şimdi hesabımız yardımıyla kendi sitemizde kullanmamız için 2 anahtar string almamız lazım gelir.


Girdi kutusunun hemen altında bulunan "Enable this key on all domains (global key)" seçeneği global bir anahtar oluşturur, bu anahtar yardımıyla tüm domainlerinizde kullanabilirsiniz. Formu gönderdikten sonra, "Sites you Administer" buradan başlıklı sayfadan kayıt olduğumuz alan adına tıklayalım. Aşağıdaki gibi bir sayfanın gelmesi lazımdır:




Kullanım öncesi tüm gereksinimleri yerine getirdik. Artık kendi PHP script’imizde bu CAPTCHA kütüphanesini kullanabiliriz. "PHP CAPTCHA Library for reCAPTCHA" başlıklı sayfada "Download" bağlantısına tıklayınız. İndirdiğiniz dosyanın içeriği şöyle olmalıdır:




"example-captcha.php" isimli örnek dosyasını açalım. Ve bize CAPTCHA tarafından verilen 2 anahtar string’i yazalım(Satır: 10,11):




Eğer aşağıdaki hatayı alıyorsanız,"$publickey" ve "$privatekey" alanlarını yanlış yazmış olabilirsiniz.

"Invalid public key. Make sure you copy and pasted it correctly."

Eğer tüm gereksinimleri doğru bir şekilde yerine getirdi iseniz, aşağıdaki görüntünün gelmesi lazımdır:


Bilgilendirme için "Aras, Samet. " Kardeşimize teşekkürler...