Merhaba Arkadaslar,
Web sayfalarinda, Iletisim formlarinda, kayit formlarinda vs genellikle formun en altinda, karsimiza "Insan oldugunuzu kanitlayin", "Lütfen güvenlik kodunu girin" gibilerinden bir uyari gelir. Baktigimizda, rastgele karakterlerden üretilmis harfleri görürüz ve aynisi TextBox'a yazdigimizda islem tamamlanmis olur.
Peki nedir bu Captcha Code?
Captcha kodunun gelistirilmesinde ve kullanilmasindaki esas neden, web sayfasinda istekte bulunan kisinin gerçekten bir insan olup olmadigini kontrol etmek. Söyle ki;
1) Web sayfasina bir bot sürekli istekte bulunuyor olabilir, bu durumda button'a her tiklandiginda, sunucuya istekte bulunulacak ve bu durumda sunucu ciddi anlamda yorulmus olacak, site yavaslayacak ve belirli bir süre sonra sunucu güvenlik nedeniyle siteye erisimi otomatik olarak durduracak.
2) Web sayfasindaki yönetim paneline giris yapmak isteyen hackerlar herhangi bir yöntemle sürekli kullanici adi ve sifre denemesi yapabilirler. Bu olay programlar yardimi ile yapildigindan dolayi eger güvenlik kodu kullanmiyorsak, zor bir ihtimal de olsa bilgileri bulma ihtimalleri var. Ancak, Captcha code kullaniyorsak, sayfa her yenilendiginde degistigi için, bu girisimlerin hiç biri sunucuya iletilemeyecek ve bir önceki senaryoda yazdigimiz ihtimaller gerçeklesemeyecek. Netice de sayfamiza saldiranlar amacina ulasamayacak.
Captcha Code bunlar gibi bir çok nedenden dolayi kullanilabilir.
Hemen bir örnek yapalim:
string[] karakter = { "A", "B", "C", "D", "E", "F", "G", "1", "2", "3", "4" };//Burada rastgele karakterler tanimladim. Siz daha fazla karakter tanimlamasi yapabilirsiniz.
string code = null;//karakter dizisini döngüye sokarak, rastgele karakterler seçip code isimli degiskene atayacagim.
Random r = new Random();//rastgele karakter seçilmesi için Random sinifindan yararlanabiliriz.
for (int i = 0; i < 5; i++)//burada 5 olarak belirttim, siz kaç karakterli bir Captcha Code olusturmak istiyorsaniz burada onu belirtmelisiniz.
{
code += karakter[r.Next(0, karakter.Length)];// code isimli degiskenimin içine, döngüm çalistigi süre boyunca rastgele karakterler eklenecek.
}
Console.WriteLine(code);//ekrana yazdiriyorum.
Çalistirdigimda ise;
Yazılım Geliştirici & Yazılım Uzmanı