Resimli doğrulama kodu oluşturma

Hadi beraber resimli doğrulama kodu oluşturalım.Öncelikle Default.aspx isimli bir Webform oluşturup bu formu aşağıdaki gibi tasarlayınız.Burada guvenlik.aspx isimli img etiketine dikkat edelim.

<table style="width: 480px;" cellpadding="8px">
   <tr>
      <td>
        <asp:Label ID="Label1" runat="server" Text="Kullanıcı Adı"></asp:Label>:
       </td>
      <td>
        <asp:TextBox ID="TextBox1" runat="server" Width="200px" BorderColor="#6699FF"
         BorderStyle="Solid" BorderWidth="1px"></asp:TextBox>
      </td>
   </tr>
   <tr>
     <td>
       <asp:Label ID="Label2" runat="server" Text="Şifre"></asp:Label>:
     </td>
     <td>
       <asp:TextBox ID="TextBox2" runat="server" Width="200px" BorderColor="#6699FF"
        BorderStyle="Solid" BorderWidth="1px" TextMode="Password"></asp:TextBox>
     </td>
     </tr>
     <tr>
        <td>
          <asp:Label ID="Label3" runat="server" Text="Doğrulama Kodu:"></asp:Label>
        </td>
        <td>
           <img src="guvenlik.aspx" alt="" />
        </td>
        </tr>
        <tr>
         <td>
          <asp:Label ID="Label4" runat="server" Text="Kodu Giriniz:"></asp:Label>:
        </td>
        <td>
        <asp:TextBox ID="TextBox4" runat="server" Width="200px" BorderColor="#6699FF"
         BorderStyle="Solid" BorderWidth="1px"></asp:TextBox>
        </td>
        </tr>
        <tr>
         <td colspan="2" align="center">
         <asp:Label ID="Label5" runat="server">&nbsp;</asp:Label>
         </td>
         </tr>
         <tr>
         <td colspan="2" align="center">
          <asp:Button ID="Button1" runat="server" Text="Giriş Yap" BackColor="#1F5BA0"
          Font-Bold="True" Font-Size="10pt" ForeColor="White" BorderColor="#1F5BA0" />
          </td>
          </tr>
</table>

Şimdi guvenlik.aspx isimli bir Webform oluşturun ve aşağıdaki kodu yazın ve import bölümüne Imports System.Drawing ve Imports System.Drawing.Imaging ifadelerini yazın.

 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim resim As New Bitmap(150, 20)
        Dim harfler As String = "ABCDEFGHIJKLMNOQPRSTUXVWYZ1234567890abcdefghijklmnoqprstuvwxyz"
        Dim grafik As Graphics = Graphics.FromImage(resim)
        grafik.FillRectangle(New SolidBrush(Color.FromArgb(255, 255, 255, 220)), 0, 0, 150, 20)
        Dim yazi_tipi As New Font("Times New Roman", 12, FontStyle.Bold)
        Dim rastgele As New Random()
        Dim firca As New SolidBrush(Color.Blue)
        Dim karakter As String = ""
        Dim kod As String = ""
        For i As Integer = 0 To 4
            karakter = harfler(rastgele.Next(0, harfler.Length - 1)).ToString()
            grafik.DrawString(karakter, yazi_tipi, firca, i * 20 + 5, 0)
            kod += karakter
        Next
        resim.Save(Response.OutputStream, ImageFormat.Jpeg)
        Session("kod") = kod
    End Sub

Bu VB, nerede C# dediğinizi duyar gibiyim.Hemen aşağıda

protected void Page_Load(object sender, System.EventArgs e)
{
    Bitmap resim = new Bitmap(150, 20);
    string harfler = "ABCDEFGHIJKLMNOQPRSTUXVWYZ1234567890abcdefghijklmnoqprstuvwxyz";
    Graphics grafik = Graphics.FromImage(resim);
    grafik.FillRectangle(new SolidBrush(Color.FromArgb(255, 255, 255, 220)), 0, 0, 150, 20);
    Font yazi_tipi = new Font("Times New Roman", 12, FontStyle.Bold);
    Random rastgele = new Random();
    SolidBrush firca = new SolidBrush(Color.Blue);
    string karakter = "";
    string kod = "";
    for (int i = 0; i <= 4; i++)
    {
        karakter = harfler[rastgele.Next(0, harfler.Length - 1)].ToString();
        grafik.DrawString(karakter, yazi_tipi, firca, i * 20 + 5, 0);
        kod += karakter;
    }
    resim.Save(Response.OutputStream, ImageFormat.Jpeg);
    Session["kod"] = kod;
}

İşte bu kadar. Default aspx sayfasında  <img src="guvenlik.aspx" alt="" /> ifadesinin olduğu yere dikkat edin.Resmin kaynağına guvenlik.aspx yazılmıştır.Oluşan kodu ise default.aspx sayfamda kullanabilmek için  Session("kod") = kod ifadesi imdadıma yetişir.Artık gerekli her yerde resimli doğrulama yapabilirsiniz.Çalıştırdığımızda oluşan ekran görüntüsü ise şu şekilde oldu.




Etiketler
Captcha image Doğrulama DrawString
Mesaj Yaz