DevExpress ASP.NET Captcha Kullanımı


Yine uzun bir aranın ardından “merhaba” =]

Yakında duyuracağım ufak çaplı bir tasarı sırasında kullanma gereksinim duyduğum bu güzel denetim nesnesi hakkında bilgi vermek istedim. Öncelikle ‘captcha’ nedir?

Captcha (okunuşuyla “keapça”), veri girişi yaptığınız bir sayfada, girdiğiniz verileri siteye üst üste göndermenizi (postback) engellemek için alınabilecek bir önlemdir (güvenlik anahtarı isteyen bir kutucuk). Söz gelimi bir üye girişi yaptığınız bir sayfada ‘eposta’ ve ‘şifre’ kutucukları var ve ‘oturum aç’ diyerek giriş yapıyorsunuz. ASP.NET tarafında bu kutucuklara ve düğmeye kod tarafında (code behind) ulaşıp sürekli olarak istek gönderebilir, otomatik olarak her türlü eposta\şifre birleşimini (kombinasyon) deneyebilir ve siteye bu birleşimlerden herhangi biriyle giriş yapabilirsiniz. Peki captcha tüm bunların neresinde? Eğer siz bu tür saldırıların olası olduğu bir sayfada captcha kullanırsanız, birileri tarafından sürekli olarak istek gönderilebilmesi için, captcha kutucuğunun doğru anahtarla geçilmesi gerekir. Tamamen atıp-tutarak (random) oluşturulan bu anahtarın herhangi bir şekilde otomatik olarak geçilmesi söz konusu değildir.

Şimdi gelelim ASPxCaptcha’ya. DevExpressîn bu güzelim nesnesinin demosu:  DevExpress ASPXCaptcha

Yeni bir ASPXCaptcha nesnesi yaratıyoruz:

  <dx:ASPxCaptcha ID=”captchaMehmetKAPLAN” runat=”server” </dx:ASPxCaptcha>

Bu nesneyi yaratmamız captcha için gerekli olan tüm özellikleri bize sağlıyor. İşimize yarayacak bazı özelliklerine değinelim:

ValidationSettings, ErrorText; captcha kodu doğru girilmediğine verilecek olan uyarıdır.

ValidationSettings, ValidationGroup; eğer geçerli sayfada kullandığınız bir ValidationGroup varsa captchayı o gruba dahil etmek içindir.

RefreshButton Text; yeni bir captcha kodu yaratılmasını sağlayan düğmenin (button) metin (text) özelliğidir.

Textbox, LabelText; “captcha kodunu giriniz” şeklinde uyarının yer aldığı bölümün metin özelliğidir.

Tüm bunların dışında eğer bir DevExpress teması kullanıyorsanız SkinID kısmına ‘dummy’ gibi skinler yazarak captcha tipini değiştirebilirsiniz.

Görsel olarak işimiz bittikten sonra kod tarafında captcha kodunun doğru girilip girilmediğini anlamak için:

if(captchaMehmetKAPLAN.IsValid) …

Şeklinde kullanabilirsiniz. JavaScript tarafında kod yenileme gibi bir takım olayları tetiklemek isterseniz ClientSideName’e bir id verip, JS tarafında id.Refresh() gibi olayları çağırabilirsiniz.

Haydi kolaylar gelsin.


Posted

in

,

by

Comments

Yorum bırakın