Cómo implementar Google captcha en asp clásico

[…]


por

Google reCAPTCHA es una de las utilidades existentes que en este momento mejor funcionan para evitar el envío de spam a través de los formularios de nuestra web.

Aunque ASP clásico apenas se utiliza para desarrollar nuevas páginas, lo cierto es que aún existen muchas que en su día se realizaron en este lenguaje de programación y todavía están activas y funcionan bien.  Recientemente he tenido que añadir en alguna de ellas el captcha de Google, así que os dejo aquí el código utilizado por si os es de utilidad:

  1. En la cabecera de la página (entre <head> y </head>) añadimos llamada al script de google, en este caso añadimos el parámetro hl que hace referencia al idioma en que quieres que aparezca
<script src="https://www.google.com/recaptcha/api.js?hl=ca" async defer></script>

2. En el <body> de la página, en el lugar del formulario que queremos que aparezca el captcha:

<div class="g-recaptcha" data-sitekey="6Le_AyoTA7777777Abv56kY6w_fcPMwEqL-lYnbaXU"></div>

Ojo, el parámetro data-sitekey lo debes personalizar añadiendo el que Google te dé al dar de alta la web que quieras proteger.

3. Al procesar el formulario verificas que el código es correcto:

Dim recaptcha_secret, sendstring, objXML
    recaptcha_secret = "6Le_AyoTA7777777Abv56kY6w_fcPMwEqL" // La clave que te haya dado Google
    sendstring = "https://www.google.com/recaptcha/api/siteverify?secret=" & recaptcha_secret & "&response=" & Request.form("g-recaptcha-response")
    Set objXML = Server.CreateObject("MSXML2.ServerXMLHTTP")
    objXML.Open "GET", sendstring, False
    objXML.Send
    ResponseString = objXML.responseText
 
    If instr(ResponseString, "success" & chr(34) &": true")>0 then
       recaptchagood="Yes"
       // El código es correcto, seguimos con el envío del formulario normalmente
    else
    // El código es incorrecto, mostramos mensaje de error
    end if

Es sencillo de implementar, pero cada vez es más difícil de encontrar información y recursos sobre asp clásico, y todavía algunos lo necesitamos, así que he pensado que a alguien más le podría ser útil.

Si tienes cualquier duda, no dejes de preguntar!

¿Eres implementador o desarrollador WordPress?

En la Zona DPW encontrarás más recursos, tutoriales, plantillas, y una biblioteca de snippets para poder utilizar en tu día a día y ganar tiempo en tu trabajo:

ACCEDER AHORA

Comentarios

8 respuestas a «Cómo implementar Google captcha en asp clásico»

  1. Avatar de Edmundo

    |

    Hola,

    Gracias por esta información!
    Adentro del If, como valido para que no sea enviado el formulario?
    El Capcha, ya funciona y se valida, pero y el formulario como evito el envío?

    Gracias, Saludos!

    1. Avatar de esther

      |

      Hola Edmundo! Siguiendo el código de ejemplo, deberías poner el código de envío de formulario dentro del IF, donde pone «// El código es correcto, seguimos con el envío del formulario normalmente», así sólo se enviará en ese caso.

      Saludos!

  2. Avatar de diego

    |

    buenos dias, hice el ejemplo pero cuando lo estoy probando no se porque el request.form(«g-recaptcha-response») me sale vacio, cuando si tiene valores ???

    1. Avatar de esther

      |

      Hola Diego! El código de este post ya tiene un tiempo, es posible que se haya modificado algo con las últimas versiones de reCaptcha

      1. Avatar de diego

        |

        Hola, muchas gracias por su respuesta, lo que me sucedio es que las etiquetas estaban mal ubicadas, ya corregi y todo funciono perfecto. Muchas gracias !!!!

        1. Avatar de esther

          |

          Genial! Me alegro que te haya servido Diego.

    2. Avatar de Rene

      |

      Hola, disculpa que etiquetas tenias mal?? mi me pasa lo mismo. cuando intento recoger el parametro me sale vacio y dice : missing parameter.

  3. Avatar de Rafaela Arredondo Juárez

    |

    Excelente!! justo necesitaba implementar la validación en ASP y no encontraba nada al respecto!!!