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"> </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