Vine aquí en mi búsqueda, no vi una respuesta, así que seguí buscando.
Después de mi búsqueda, esta ventana todavía estaba abierta, así que estoy actualizando esta publicación con mis hallazgos.
Aquí es donde puede aprender sobre reCAPTCHA :
http://scraping.pro/no-captcha-recaptcha-challenge/
Básicamente, sin embargo, agrega esto a su página web:
<script src="https://www.google.com/recaptcha/api.js" >;
<form method="post">
<div class="g-recaptcha" data-sitekey="[site key issued by google]"></div>
<input value="submit" type="submit" />
</form>
Para obtener sus claves reCAPTCHA , vaya a este sitio de Google:
https://www.google.com/recaptcha/intro/index.html
Una vez que tenga sus claves utilizando el enlace de arriba, puede profundizar en la codificación de esto utilizando la siguiente información de Google:
https://developers.google.com/recaptcha/
NOTA:
De la documentación de Google:
El script debe cargarse utilizando el protocolo HTTPS y puede incluirse desde cualquier punto de la página sin restricciones.
Aquí hay un ejemplo de cómo lo hice funcionar:
<html>
<head>
<title>Contact</title>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<script>
var onloadCallback = function () {
grecaptcha.render('dvCaptcha', {
'sitekey': '<%=ReCaptcha_Key %>',
'callback': function (response) {
$.ajax({
type: "POST",
url: "CS.aspx/VerifyCaptcha",
data: "{response: '" + response + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (r) {
var captchaResponse = jQuery.parseJSON(r.d);
if (captchaResponse.success) {
$("[id*=txtCaptcha]").val(captchaResponse.success);
$("[id*=lblAlarm]").hide();
} else {
$("[id*=txtCaptcha]").val("");
$("[id*=lblAlarm]").show();
var error = captchaResponse["error-codes"][0];
$("[id*=lblAlarm]").html("RECaptcha error. " + error);
}
}
});
}
});
};
</script>
</head>
<body>
<form action="?" method="POST">
<div id="dvCaptcha" class="g-recaptcha" data-sitekey="[site key issued by google]"></div>
<br />
<asp:Button ID="btnSubmit" runat="Server" Text="Send" OnClick="btnSubmit_Click" />
<asp:Label ID="lblAlarm" runat="server" ForeColor="Red"></asp:Label>
</form>
</body>
</html>
Si necesita validar en el código subyacente de ASP.NET, simplemente verifique que el control "g-recaptcha-response" esté completo:
protected static string ReCaptcha_Key, ReCaptcha_Secret;
protected void btnSubmit_Click(object sender, EventArgs e)
{
if (!String.IsNullOrEmpty(Request.Form["g-recaptcha-response"]))
{
// other code
} else
{
lblAlarm.Text = "reCAPTCHA failed.";
}
}
Con suerte, algunos de ustedes encontrarán esto útil.