Son Yazılar
Anasayfa » Yazılım » Asp.Net Web Forms » Asp.Net Web Forms Güvenlik Doğrulama(Captcha) Oluşturma
Asp.Net Web Forms Güvenlik Doğrulama(Captcha) Oluşturma

Asp.Net Web Forms Güvenlik Doğrulama(Captcha) Oluşturma

İletisim ve üyelik formlarında site giriş panellerinde vs. bir çok yerde karşımıza çıkan Captcha Asp.Net Web Forms’ ta nasıl oluşturulur ona bakalım.

Senaryo

Herhangi bir üye giriş formunda yer alan Captcha oluşturulması.

captcha

1.Adım

Yukarıdaki gibi 3 tane TextBox 1 tane Label 1 tane Button oluşturuyoruz.

Projemizin kök dizininde images klasörü oluşturalım ve içerisine resim.jpg adlı resmi yükleyelim.

GuvenlikKodu.aspx adında WebForm oluşturalım.(Master Page bağlantısı yok)

2.Adım

Oluşturmuş olduğumuz projede GuvenlikKodu.aspx formunun .cs tarafında aşağıdaki namespace’ leri eklyelim.


using System.Drawing;
using System.Drawing.Imaging;

 

3.Adım

GuvenlikKodu.aspx formunda çift tıklayarak FormLoad olayına aşağıdaki kodları yazalım.


Bitmap bitmap = new Bitmap(Server.MapPath("images/resim.jpg"));
Graphics security = Graphics.FromImage(bitmap);
Random r = new Random();
string kod = r.Next(1000, 10000).ToString();
Session["guvenlik"] = kod;
Font font = new Font("Tahoma", 180);
SolidBrush brush = new SolidBrush(Color.White);
Point point = new Point(1, 60);
security.DrawString(kod, font, brush, point);
bitmap.Save(Response.OutputStream, ImageFormat.Png);

 

  • 1.satırda bitmap adlı nesneye images klasöründeki resmi yükledik.
  • 2.satırda yüklemiş olduğumuz resmi captcha’ nın arkaplanı olarka belirledik.
  • 3. ve 4. satırda rasgele sayı oluşturduk.
  • 5.satırda guvenlik adında bir session oluşturarak bu session’ a rasgele oluşturduğumuz sayıyı atadık.
  • 6.satırda font-family ve font-size özelliklerini belirleyerek font adında nesne oluşturduk.
  • 7.satırda captcha’ da yazılacak olan içeriğin rengini belirledik.(Captcha içerisine çizim yapıldığı için SolidBrush sınıfını kullandık.)
  • 8.satırda point nesnesi ile captcha içerisindeki içeriğin konumu belirledik.
  • 9.satırda oluşturduğumuz captcha’ yi .aspx sayfası olarak kaydettik.

Projeyi çalıştırdığınızda captcha’ nin .aspx sayfası gibi geldiğini göreceksiniz.Bundan sonraki işimiz bu .aspx sayfasını bir form üzerinde gerekli boyutlarda göstermek.

4.Adım

Bir adet Giris.aspx formu oluşturuyoruz. Bu formun Load olayında aşağıdaki kodu yazıyoruz.

Amaç: GuvenlikKodu.aspx sayfasında rasgele oluşturduğumuz sayıyı Giris.aspx formunda deger adlı değişkene taşımak.


string deger = Session["guvenlik"].ToString();

5.Adım

Formumuzda captcha’ nın görünmesini istediğimiz yere aşağıdaki kodu yazıyoruz.

Bu kod satırı ile GuvenlikKodu.aspx sayfasını resim haline dönüştürüyoruz.


<img src="GuvenlikKodu.aspx" width="160" height="50" />

6.Adım

Son olarak butonun Click olayına gelerek aşağıdaki kodu yazıyoruz.


if (deger == TextBox3.Text)
{
Label1.Text="Giriş başarısız";
}

Hakkında Mehmet Akif Vurucu

C# 'ta kendisini sürekli geliştirmeye çalışan, Wordpress meraklısı, inatçı, spor tutkunu, fanatik bir Fenerbahçeli.

Cevapla

E-posta adresiniz yayınlanmayacak. Required fields are marked *

*