Simple Text to image generator to block bots submitting to your database with ASP.Net

 

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

 

1)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”

 

2)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.Clear(Color.Green);

 

                  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

Session.Add("randomStr",randomStr);

 

                  //' 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);

                 

                  objFont.Dispose();

                  objGraphics.Dispose();

                  objBMP.Dispose();

 

            }

 

           

      }

 

3) 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

                  }

                  else{

                  Label1.Text ="Please enter info correctly";

                  }

            }

 

 

Copyright 2005 © Oguz Altuncu

Canadian Directory Main Page