Home > ASP.NET With C#, Lập Trình > Asp.net Captcha Tạo mã bảo vệ Captcha với ASP.NET

Asp.net Captcha Tạo mã bảo vệ Captcha với ASP.NET

Các trang web hiện nay sử dụng captcha rất phổ biến để tránh Spam. Captch thường có dạng một hình ảnh hoặc đoạn flash chứa những kí tự ngẫu nhiên được làm biến dạng nhằm gây khó khăn cho các chương trình có khả năng nhận diện kí tự. Trong bài viết này tôi sẽ hướng dẫn tạo chức năng captcha bằng ASP.Net với ngôn ngữ là C#

Asp.net, Captcha, Mã bảo, ASP.NET Captcha, Csharp,

Bước 1: Download MSCaptcha.dll và add vào thư mục Bin của ứng dụng – bạn có thể download đầy đủ code và thư viện ở liên kết cuối bài


Bước 2:
Trong web.config bên trong thẻ <httpHandlers> bạn add thêm

<add verb="GET" path="CaptchaImage.axd" type="MSCaptcha.CaptchaImageHandler, MSCaptcha"/>


Bước 3:
Đăng ký Assembly add thêm dòng code vào phía trên thẻ html của trang

<%@ Register Assembly="MSCaptcha" Namespace="MSCaptcha" TagPrefix="cc1" %>


Bước 4:
Viết code aspx như minh họa:

<div style="border:1px solid #DDD; width:320px; padding:10px">
    Mã bảo vệ:
    <asp:TextBox ID="TextBox1" runat="server" /><asp:Button ID="Button1"
    runat="server" onclick="Button1_Click" Text="OK" Width="80px" />
    <cc1:CaptchaControl ID="ccJoin"
     runat="server"
     CaptchaBackgroundNoise="Extreme"
     CaptchaLength="5"
     CaptchaHeight="60"
     CaptchaWidth="210"
     CaptchaLineNoise="None"
     CaptchaMinTimeout="5"
     CaptchaMaxTimeout="240" />
     <asp:Label ID="Label1" runat="server" style="color: #FF3300"></asp:Label>
</div>


Bước 5:
Viết code C# như minh họa:

protected void Button1_Click(object sender, EventArgs e)
{
    ccJoin.ValidateCaptcha(TextBox1.Text);
    if (!ccJoin.UserValidated)
    {
        Label1.Text = "Mã bảo vệ chưa chính xác";
        return;
    }
    else
    {
        Label1.Text = "Thành công";
    }
}

Kết quả:

Các thuộc tính cần chú ý của CaptchaControl

– CaptchaBackgroundNoise: Thiết lập độ khó của Captcha – Có các giá trị “none”, “low”, “medium”, “high” or “extreme”
– CaptchaLength: Độ dài các ký tự xuất hiện của Capcha
– CaptchaHeight và CaptchaWidth – chiều cao và chiều rộng (bằng pixel) của hình ảnh capcha được tạo ra.
– CaptchaLineNoise: Thiết lập đường ngoắt ngoéo (:D không biết gọi là gì nữa) cho capcha – có các giá trị “none”, “low”, “medium”, “high” or “extreme”
Nếu đặt CaptchaLineNoise=”High” thì hình ảnh sẽ như sau:

– CaptchaChars – các chuỗi ký tự được sử dụng cho Captcha. Mặc định là “ABCDEFGHJKLMNPQRSTUVWXYZ23456789”. Nếu khai báo lại bạn nên tránh sử dụng các ký tự như O, 0, 1 vì sử dụng phông chữ khác nhau, chúng có thể gây nhầm lẫn.
– CaptchaMaximeout
– CaptchaMinTimeout

Ngoài ra còn nhiều thuộc tính khác tôi chưa nêu ở đây. Bạn sử dụng thì tự khám phá nhé

Link download project mẫu: http://www.mediafire.com/?vd0cgvjla2580e6

  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: