Simple Captcha Using C#

I was trying to find a solution to block spammers adding data to our database using C#. This is the quick solution I found.

First create an image tag in the webform that has the submit form.

<IMG height="30" alt="" src="Turing.aspx" width="80">

As you see the source for the picture will be a file called "Turing.aspx".

Later create the webform "Turing.aspx" with the code below

public class Turing1 : System.Web.UI.Page

private void Page_Load(object sender, System.EventArgs e)

Bitmap objBMP =new System.Drawing.Bitmap(60,20);

Graphics objGraphics = System.Drawing.Graphics.FromImage(objBMP);


objGraphics.TextRenderingHint = TextRenderingHint.AntiAlias;

//’ Configure font to use for text

Font objFont = new Font("Arial", 8, FontStyle.Bold);

string randomStr="";

int[] myIntArray = new int[5] ;

int x;

//That is to create the random # and add it to our string

Random autoRand = new Random();

for (x=0;x<5;x++)

myIntArray[x] = System.Convert.ToInt32 (autoRand.Next(0,9));

randomStr+= (myIntArray[x].ToString ());


//This is to add the string to session cookie, to be compared later


//’ Write out the text

objGraphics.DrawString(randomStr, objFont, Brushes.White, 3, 3);

//’ Set the content type and return the image

Response.ContentType = "image/GIF";

objBMP.Save(Response.OutputStream, ImageFormat.Gif);





And this is the code for the submit button on the main form

private void btnSubmit_ServerClick(object sender, System.EventArgs e)


if (Page.IsValid && (txtTuring.Value.ToString () ==Session["randomStr"].ToString ()))

// The Code to insert data


Label1.Text ="Please enter info correctly";


4) Finally make sure you add the related System libraries,

using System.Drawing;

using System.Drawing.Text;

using System.Drawing.Imaging;

in front of the class and this is it.

Hope this helps.


More by Author

Must Read