Merhaba arkadaslar, bu yazimda size cok guzel bir Php güvenlik kodu uygulaması (captcha) betigi paylasacagim. Baslamadan once demo gormek isteyenler buraya bakabilirler.

Peki nedir bu güvenlik kodu (captcha)?
Gelistirilmesinin amaci bilgisayar ile insanlari birbirinden ayirt ederek sitelere ve sunuculara gelecek olan anlik saldiri girisimlerini engellemek diyebiliriz. Daha net ifade etmek gerekirse genelde sitelere uye girisi, uye olma, yorum yapma gibi bolumlerde kullanilan, bilgisayar programlarinin, botlarin birden fazla girisimde bulunarak, siteyi hedef alan saldirilara yada icerigin calinmasina neden olan acigin kapatilmasina yaramaktadir.

Bir cok sitede gorursunuz genelde bunlari, bazen resim uzerine karakter bulunur, bazen de bir soru seklinde cikar karsimiza. Ancak en cok kullanilan ornegi resim uzerine restgele karakterler bastirarak giris yapan kisinin bu harfleri dogrulamasini istemektir..

Bu konuda paylasacagim betik istenirse gelistirilebilecek bir uygulama. Nasil calisir sorusuna cevap vermeden once isterseniz kodlarimizi ve dosyalarimizi paylasalim..

2 Dosyamiz var bunlardan birisi form.php yani dogrulamanin yapilacagi dosyamiz, digeride guvenlik kodunu olusturacagimiz ve session a atayacagimiz dosyamiz.

oncelikle form.php dosyasini paylasalim:

Simdide guvenlik resmini olusturup, session’a atayip, ekrana basacagimiz CaptchaSecurityImages.php dosyasi:

Bu kadar birde karakterler icin bir font dosyamiz var onuda buradan indirerek dosyalar ile ayni yere yukleyin. Yazi fontunu siz istediginiz sekilde duzenleyebilirsiniz daha sonra, yani farkli fontlar kullanabilirsiniz..

Calisma mantigi nedir ?
Oncelikle guvenlik kodu uygulamasi session ile calisir, session’a atanan rastgele kodlari form ile dogrulamanizi isteriz ve eger session’dakiler ile form’dakiler ayni ise guvenlik uygulamasini gecmenize izin veririz. Aksi durumda eslesme mumkun olmaz ise tekrar guvenlik kodu uygulamasina geri donersiniz. form.php dosyasinda guvenlik kodu olusturup ekrana resim olarak bastigimiz kisim burasi:

Bu bir resim degil ancak php dosyasinda header bilgilerini resim gibi gosterip ekrana o sekilde gosterdik. Burada goreceginiz gibi guvenlik kodu resminin genisligini ve yuksekligini, ayrica kac karakter olmasini istediginizide ayarlayabiliyorsunuz. Boylece kendinize ozgu daha zor guvenlik kodu uygulamasi olusturabilirsiniz..

Bu uygulamada session kullanildi, ne oldugunu merak edenler olabilir, kisaca yazayim: Session bir oturum uygulamasidir, her kullanici icin yada burdaki uygulamada oldugu gibi her istek icin bir session yani oturum ismi olusturur. Burada rastgele olusturdugumuz kodu session’a atayip formdan gelen veri ile eslestirdik. Boylece guvenlik kodu uygulamasida calisir hale geldi ve kullanima hazir..

Yukarida anlattigimiz uygulamanin butun dosyalarini calisir halde indirmek icin buraya tiklayin.

Uygulamadaki class dosyasini hazirlayan Simon Jarvis isimli arkadasimiza cok tesekkur ederim oncelikle. Web sitesi ise burasidir.

bir yazinin daha sonuna geldim sanirim, bol gunesli gunler..

8 YORUMLAR

  1. Kullandığım hosting şirketinde GD yüklü fakat Freetype’a izin vermiyorlar.
    Freetype olmadan captcha kullanmanın yöntemi var mıdır? Ya da wordpress plugin’i.

    Teşekkürler

Bir Cevap Yazın