Captcha-Nedir_emresupcinMerhaba Arkadaşlar,

Php’li bir konu olan Captcha’nın ne olduğunu sizlere anlatmak istiyorum. Bir sonra ki yazacağım makalemde yapımından bahsedeceğim. Ama detaylı bir şekilde önce açıklayalım bilgimizi tazeleyelim daha sonra ki makalemizde ise uygulamamıza geçelim.

 

Captcha web sitelerini botlara karşı koruyan bir programdır. Bunu insanların çözebileceği ama bilgisayar programlarının çözemeyeceği testlerle yapar. Captcha kelimesi ise Luis von Ahn, Manuel Blum, Nicholas Hopper ve John Langford tarafından 2000 yılında konmuştur. Açılımı ise Completely Automated Public Turing test to tell Computers and Humans Apart’tır.

 

Captcha Çeşitler Nelerdir?

 

Şu an aklınızdan “bildiğimiz resimdeki harfleri yazınız”uygulamasından bahsediyorsun” dediğinizi duyar gibiyim. Ama durum aslında bu kadar basit değil. Amacımız o anki istemcinin(client) bir bilgisayar programı değil de insan olduğunu garantilemek. Öyleyse yöntemimiz resimdeki harfleri girin ile sınırlı kalmamalı. Hemen örneklendiriyorum:

 

• reCAPTCHA dan yukarıda bahsetmiştim. Bu projede yapılan sadece rastgele harfleri kullanıcıya girmek değil kitapların sayısallaştırılmasına yardım etmek. Peki kitapların sayısallaşması ne demek? Kütüphanelerde duran çok eski kitapların taratılmasından elde edilen resimler OCR (Optical Character Recognition) ile kelimelere dökülüyor. Eğer resim halinde bırakılsalardı hem çok boyut kaplarlardı, küçük cihazlarda saklanamazdı, indirmek çok maliyetli olurdu, hem de arama yapılamazdı. Resimleri text haline OCR ile getirilebiliyor.

 

Ama OCR ne yazık ki mükemmel değil, %100 başarılı olamıyor, okuyamadığı kelimeler oluyor. Dünyada günde 200milyon captcha’nın çözüldüğünü varsayarsak, bilgisayar tarafından okunamayan kelimeleri captcha olarak kullanıyoruz. Peki ya bilgisayarın okuyamadığı kelimeyi insanların doğru yazıp yazmadığına nasıl karar veriyoruz? reCAPTCHA iki tane kelime gösteriyor. Bir tanesi zaten sayısallaştırılabilmiş kelime. Diğeri ise henüz sayısallaştırılmamış kelime. Kullanıcı bilinen kelimeyi doğru girerse, diğer kelimeyi girdiğinde doğru olarak kabul ediliyor.

 

Bilgisayarın bilmediği kelime belli sayıda kullanıcının aynı değeri girmesi durumunda doğru olarak kabul ediliyor. reCAPTCHA’nın kitapların sayısallaştırılmasına nasıl katkıda bulunduğuyla ilgili daha fazla bilgi almak isterseniz: http://www.google.com/recaptcha/learnmore

 

• SQ-PIX projesinde ise sistem size bir konu ve 3 tane de resim veriyor. Konuyla alakalı olan resmi karalamanızı istiyor. http://server251.theory.cs.cmu.edu/cgi-bin/sq-pix

 

• ESP-PIX projesinde ise sistem insan kalbine yakın olmayı umuyor. 4 tane resim veriyor ve bunların arasındaki ortak özelliğin ne olduğunu listeden seçmenizi istiyor.  http://server251.theory.cs.cmu.edu/cgi-bin/sq-pix

 

Captcha Nerelerde Kullanılır?

 

Botlar kullanılarak çok çeşitli web uygulamalarına zararlar verilebiliyor. Kimisinde sisteme bir insanın girebileceğinden fazla veri girerek  verinin doğruluğuna zarar verilirken, kimisinde spam yapılıyor.

 

• Bloglara spam yollanmasını önlemek: Çoğu blog yazarı yorum olarak gelen spamlerin farkındadır. Botlar yazdıkları spam comment’ler sayesinde arama motorlarında spam’i yapılan web sitesinin üst sıralara çıkmasını amaçlıyor. Bu yorumların önüne geçebilmek için captcha kullanılıyor. Bu sayede bloglara yorum yapmak için üye olmaya da gerek kalmıyor. Üye olmayan kullanıcı captcha testini geçtikten sonra insan olduğunu ispatlıyor.

 

• Website üyeliğini kontrol etmek: Üyelik ile sunulan ücretsiz hizmetlerden botlar kullanılarak milyonlarca üyeliğin alınması sağlanabiliyor. Sistemin bu şekilde milyonlarca email vs. hizmetler vererek çalışmaz hale gelmemesi için captcha kullanılıyor.

 

• EMail adreslerini gizlemek: Spammer’lar spam yapabilmek için email adreslerini kullanıyorlar. Bu email adreslerini bulabilmek için de web’de text araması yapıyorlar. Bunu önlemek için de web sayfalarında bir email adresini görebilmek için öncelikle captcha testini geçmeniz ve insan olduğunuzu ispatlamanız gerekiyor.

 

• Anketler de captcha’ya en çok ihtiyaç duyulan uygulamalardan biri. Captcha sayesinde, botların herhangi bir seçeneğe birkaç dakikada milyonlarca oy vererek, sonucun sağlıksız olması engelleniyor.

 

• Şifreyle giriş sistemlerinde, bildiğiniz üzere, bir hesaba belirli sayıda hatalı giriş uygulandıktan sonra, o hesap belli bir süre kilitleniyor. Botlar, bu kilitlenmeyi kullanarak sistemdeki çoğu hesabın kullanılmaz olmasını hedefliyor. Bu noktada captcha devreye girerek, hatalı girişin bir kullanıcı mı tarafından mı yoksa bot tarafından mı yaptığını süzüyor. Captcha’yı geçemeyen bot girişi, hatalı bir giriş olarak gözükmeyerek, hesabın kitlenmesini engelliyor.

 

• Arama motoru botları genellikle bot istemiyorum, indexlenmek istemiyorum tag’ınıza saygı duyuyorlar. Tabii bu büyük arama motoru şirketleri için geçerli. Peki ya diğerleri? Onlar için de çözüm aynı: giriş sayfasına konulan bir captcha.

 

• Worm ve Spam’lerden korunmak: email yoluyla bulaşan virüslerden ve spamlerden korunmak isterseniz eğer, “sadece insan tarafından yazılmış email’leri okumak isteyebilirsiniz. Bu noktada yine captcha iş başında olacaktır.

 

• Captcha için şimdilik bu kadar. İlerleyen günlerde reCAPTCHA kullanmak ve web geliştiricileri için reCAPTCHA’yı sistemlerinde ne şekilde gerçekleştirebileceklerine dair bir yazı sizlerle olacak.

Yazar
Yazar
Bilgisayar Programcısı, Web Tasarımcı, Üniversite Öğrencisi...
Twitter Facebook Google Linkedin Flickr YouTube

Önceki Yazı:CSS: !important Kullanımı Nasıl Olur?

Sonraki Yazı:PHP Captcha Yapımı Nasıldır?

YORUMLAR
SİZ DE CEVAP YAZABİLİRSİNİZ
Bu yazı hakkında görüşünüzü belirtin.

ES Web Tasarım Web Tasarım Blog Teması Emre Supçin Bu tema ES Web Tasarım tarafından düzenlenmiştir. Hiçbir şekilde kopyalanamaz.