post icon

ReCaptcha en ASP.Net con VB y C#

A estas alturas todos ya habremos visto implementado en más de un sitio web reCaptcha . Adquirida por Google hace un tiempo atrás, es una famosa herramienta para prevenir el spam, detectando si el usuario conectado es un humano o un robot.

ReCaptcha es un software libre, que podemos implementar como y cuando querramos, teniendo la particularidad que siempre nos mostrará dos palabras, pudiendo nada más interpretar la primera, ¿Cómo es esto? reCaptcha solamente entiende y puede comparar el texto de la primer palabra, la segunda palabra no puede comprender, ya que son palabras de libros escaneados y se utiliza de manera indirecta ésta herramienta para digitalizarlos para los siguientes servicios Google Books y Google News Archive. Esto quiere decir que si escribimos bien la primer palabra y la segunda no igual pasaremos el validador.

Desde este link pueden descargar la librería, una vez descargada la .dll agregamos como referencia a nuestro proyecto web en Visual Studio. Para demostrar como se utiliza crearemos una página muy sencilla como ya venimos acostumbrados, que contendrá sólo 3 controles, un label, un botón y un objeto reCaptcha. El código será como sigue:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<%@ Page Language="VB" %>
  <%@ Register TagPrefix="recaptcha" Namespace="Recaptcha" Assembly="Recaptcha" %>
  <html>
  <body>
      <form runat="server">
          <asp:Label Visible=false ID="lblEstado" runat="server" />
          <recaptcha:RecaptchaControl
              ID="recaptcha"
              runat="server"
              Theme="red"
              PublicKey="your_public_key"
              PrivateKey="your_private_key"
              />
 
          <asp:Button ID="btnValidar" runat="server" Text="Submit" OnClick="btnValidar_Click" />
      </form>
  </body>
  </html>

El código que he pegado aquí es para C#, para utilizarlo con VB, solo cambien las propiedades del Page en la parte superior. También si seleccionan el objeto recaptcha, en el panel de propiedades podrán agregar el PublicKey y PrivateKey, que son obligatorios para su funcionamiento, los cuales los pueden conseguir aquí gratuitamente.

Luego el código para validar es tan sencillo que no se si valga la pena mostrarlo en los 2 lenguajes, pero de igual modo lo haré, va como sigue:

1
2
3
4
5
6
7
8
// Código C#
protected void btnValidar_Click(object sender, EventArgs e)
{
	if (recaptcha.IsValid)
		lblEstado.Text = "Es Humano";
	else
		lblEstado.Text = "Es Robot";
}
1
2
3
4
5
6
7
8
' Código VB.net
Protected Sub btnValidar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnValidar.Click
	If recaptcha.IsValid Then
		lblEstado.Text = "Es Humano"
	Else
		lblEstado.Text = "Es robot"
	End If
End Sub

Luego pueden ir tocando un par de propiedades más como el theme y otros, que dejo a cargo de ustedes 😀 El funcionamiento también lo pueden ver implementado en DevTroce en la sección de registros de usuarios y comentarios.

Comentarios desde Facebook:

  1. avatar
    MiguelF MEXICO Google Chrome Windows
    19 julio 2012 at 13:13 #

    y si quiero validarlo en el script?
    he probado y
    siempre me regresa True….(5 min)
    crei que siempre regresaba True,
    pero si el texto escrito es igual al recaptcha
    regresa False, y si es diferente regresa True.

    mendiga cosa extraña me hizo perder tiempo

  2. avatar
    karen PERU Google Chrome Windows
    27 abril 2012 at 09:32 #

    hola, ya lo puedo visualizar , pero cuando quiero mostrar es humano o robot siempre me muestra es robot , no se que hacer espero tu respuesta

  3. avatar
    Diego COLOMBIA Google Chrome Windows
    21 julio 2010 at 07:55 #

    nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn

Responder