Introduction
In this post, I am explain How to implement simple Captcha in ASP.Net.Steps :
Step - 1 : Create New Project.
Go to File > New > Project > Select asp.net web forms application > Entry Application Name > Click OK.Step-2: Add a reference of "SRVTextToImage.dll".
Download SRVTextToImage.dllGo to Solution Explorer > Right Click on References > Add Reference... > Browse > select "SRVTextToImage.dll" > OK.
Step-3: Create a new Page & design for implement Captcha.
Go to Solution Explorer > Right Click on Project name form Solution Explorer > Add > New item > Select web form/ web form using master page under Web > Enter page name > Add.Here I have created "Feedback.aspx"
HTML Code
<table>
<tr>
<td>Email ID : </td>
<td><asp:TextBox ID="txtEmailID" runat="server" Width="300px"></asp:TextBox></td>
</tr>
<tr>
<td>Your Feedback :</td>
<td>
<asp:TextBox ID="txtFeedback" runat="server" TextMode="MultiLine" Width="300px" Height="50px" />
</td>
</tr>
<tr>
<td>
Security Code :
</td>
<td>
<asp:Image ID="imgCaptcha" runat="server" ImageUrl="~/CaptchaImage.aspx" />
</td>
</tr>
<tr>
<td></td>
<td>
<asp:TextBox ID="txtCaptchaText" runat="server" Width="100px" /> [Type Security code here]
</td>
</tr>
<tr>
<td></td>
<td>
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click"/>
</td>
</tr>
<tr>
<td></td>
<td>
<asp:Label ID="lblMessage" runat="server" />
</td>
</tr>
</table>
HTML Code
Step-4: Create a new Page for Generate Captcha Image.
Go to Solution Explorer > Right Click on Project name form Solution Explorer > Add > New item > Select web form under Web > Enter page name > Add.Here I have created "CaptchaImage.aspx"
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CaptchaImage.aspx.cs" Inherits="ASPCreateCaptcha.CaptchaImage" %>
[N:B: Delete all the html code from the page & Don't use master page ]
Step-5: write below code in page_load event of "CaptchaImage.aspx" for Generate Captcha Image.
Import the followings... using SRVTextToImage;
using System.Drawing;
using System.Drawing.Imaging;
protected void Page_Load(object sender, EventArgs e)
{
CaptchaRandomImage CI = new CaptchaRandomImage();
// GetRandomString Function return random text of your provided characters size
string captchaText = CI.GetRandomString(5);
//GenearteImage function return image of the provided text of provided size
//CI.GenerateImage(captchaText, 200, 50);
//there is a overload function available for set color of the image
Session["CaptchaText"] = captchaText;
CI.GenerateImage(captchaText, 200, 50, Color.DarkGray, Color.White);
this.Response.Clear();
this.Response.ContentType = "image/jpeg";
CI.Image.Save(this.Response.OutputStream, ImageFormat.Jpeg);
CI.Dispose();
}
Step-6: Write below code in the button click event (in this page here Feedback.aspx) for validate captcha
Go to Solution Explorer > Right Click on Project name form Solution Explorer > Add > New item > Select web form/ web form using master page under Web > Enter page name > Add. protected void btnSubmit_Click(object sender, EventArgs e)
{
// Other Validation Here
// Here I will validate Captcha
bool isCaptchaValid = false;
if (Session["CaptchaText"] != null && Session["CaptchaText"].ToString() == txtCaptchaText.Text)
{
isCaptchaValid = true;
}
if (isCaptchaValid)
{
lblMessage.Text = "Captcha Validation Success";
lblMessage.ForeColor = Color.Green;
}
else
{
lblMessage.Text = "Captcha Validation Failed";
lblMessage.ForeColor = Color.Red;
}
// Write Remaining code here for perform insert / update etc...
}
Step-7: Run Application.
Download Application Live Demo
