DevMedia
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
post favorito     comentários

Implementando um Captcha Básico em ASP.NET

Neste artigo mostraremos como implementar um captcha básico em uma aplicação WebForm com ASP.NET.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você poderia comentar o que não lhe agradou?

Confirmo meu voto negativo

Olá pessoal, hoje mostraremos como implementar um captcha básico em uma aplicação WebForm com ASP.NET.

 

Para nosso exemplo, vamos criar uma nova ASP.NET WebApplication.

 

Após criada, crie uma nova página e chame-a de Captcha.aspx.

No evento OnLoad desta página, insira o seguinte código:

 

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

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

objGraphics.Clear(Color.SkyBlue);

objGraphics.TextRenderingHint = TextRenderingHint.AntiAlias;

// Fonte configurada para ser usada no texto do captcha

Font objFont = new Font("Times New Roman", 10, FontStyle.Strikeout);

string captchaValue = "";

int[] valuesArray = new int[8];

int x;

//Cria o valor randomicamente e adiciona ao array

Random autoRand = new Random();

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

{

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

    captchaValue += (valuesArray[x].ToString());

}

//Adiciona o valor gerado para o captcha na sessão

//para ser validado posteriormente

Session.Add("CaptchaValue", captchaValue);

//Desenha a imagem com o nosso texto

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

//Determina o tipo de conteúdo da imagem do captcha

Response.ContentType = "image/GIF";

//Salva em stream

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

//Libera os objeto da memória pois os mesmos não são mais necessários

objFont.Dispose();

objGraphics.Dispose();

objBMP.Dispose();

 

O código acima é o responsável por gerar o valor randomicamente para nosso captcha e renderizar o mesmo em forma de imagem.

 

Agora, na página Default.aspx, inclua a seguinte Tag:

 

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

 

Esta tag, exibirá a imagem do captcha gerada no OnLoad da página Captcha.aspx.

 

Adicione mais um textBox e um botão no formulário.

No evento OnClick do botão, insira o seguinte código:

 

//Verifica se o valor digitado é o mesmo que foi gerado

//pela página do captcha

if (TextBox1.Text == Session["CaptchaValue"].ToString())

{

    Label1.Text = "Valor digitado está OK";

}

else

{

    Label1.Text = "Valor digitado está errado";

}

 

Pronto pessoal, aí está nosso captcha básico implementado em ASP.Net.

 

Vamos ficando por aqui, espero que tenham gostado e que as informações passadas sejam úteis no seu dia-a-dia.

 

Um grande abraço.

Ricardo Coelho.



Graduado em Analise de Sistemas, Pós-graduando em Engenharia de software, mais de 7 anos de experiência em desenvolvimento de software, onde atuou em projetos de diversos seguimentos como varejo, telecomunicações, ERPs etc e nas m [...]

O que você achou deste post?
Conhece a assinatura MVP?
Publicidade
Serviços

Mais posts