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:
- 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»
|
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!
|
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!
|
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 ???
|
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
|
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 !!!!
|
Genial! Me alegro que te haya servido Diego.
|
Hola, disculpa que etiquetas tenias mal?? mi me pasa lo mismo. cuando intento recoger el parametro me sale vacio y dice : missing parameter.
|
Excelente!! justo necesitaba implementar la validación en ASP y no encontraba nada al respecto!!!