的Recaptcha: 我想使用recaptcha作为我的网站的登录页面,它建立在jQuery和ASP.net上。在发布这个问题之前,我用Google搜索了关于recaptcha并研究了这个... 使用带有ASP.NET的recaptcha进行服务器端验证,其中我需要包含reCaptcha的dll并将其用作服务器控件,然后使用页面的isValid属性对其进行验证。
我想要的是使用jquery进行recaptcha的客户端验证,我该怎么做?
是否有任何好的教程可以做到这一点或理想的解决方案?
答案 0 :(得分:3)
你不能在客户端做到这一点。如果没有服务器的帮助,你就无法做到这一点,因为recaptcha归谷歌所有(它不是你的域名),你不能直接提出验证请求。
出于安全原因,禁止跨域XMLHttpRequests。您可以在填写recaptcha(onblur
的{{1}})时对您的服务器进行AJAX调用并验证它。
答案 1 :(得分:2)
为什么在世界上你想要在客户端处理验证码?可能你会在表单提交函数中挂钩,如下所示:
$("#form1").submit(function(){
// other validation
if(reCaptchaValidated()==false){
return false;
}
});
你可以阻止某人这样做:
$('#form1').unbind("submit").submit();
答案 2 :(得分:1)
这是我的解决方案
添加对google ajax recapcha的引用并生成capcha。
<script src="http://www.google.com/recaptcha/api/js/recaptcha_ajax.js" ></script>
<script type="text/javascript">
function showRecaptcha() {
Recaptcha.create("6LfLrusSAAAAAIoi3XkbGvm2fLao3VjsNTjRoK-K", 'captchadiv', {
tabindex: 1,
theme: "white",
callback: Recaptcha.focus_response_field
});
}
window.onload = function () { showRecaptcha(); }
</script>
HTML条目
<form id="myform">
<div id="captchadiv">
</div>
<input type="submit" value="Submit" />
</form>
创建Javascript调用
<script type="text/javascript">
$('myform').submit(function() {
$.getJSON("someurl/api/ValidateRecapcha", param).done(function (ret) {
if(ret) alert('recacha matched');
else alert('mismatched');
})
})
</script>
我使用ASP.net Webapi进行服务,并从此处下载了Recaptcha.dll。 https://developers.google.com/recaptcha/docs/aspnet
[HttpGet]
public bool ValidateRecapcha(string challengetKey, string input)
{
var r = new Recaptcha.RecaptchaValidator();
r.PrivateKey = "Recapcha Private Key"
r.Challenge = challengetKey;
r.Response = input;
r.RemoteIP = "REMOTE_ADDR".ToServerVariables();
var response = r.Validate();
return response.IsValid;
}
希望这有帮助
答案 3 :(得分:0)
结帐QapTcha : jQuery captcha system with jQuery & jQuery UI或AJAX FANCY CAPTCHA - JQUERY PLUGIN
之前使用它,它对我很有用..
答案 4 :(得分:0)
如果你展示了你已经拥有的东西可能会有所帮助,但我确实发现这可能与你想要的东西相似。
答案 5 :(得分:0)
我建议使用google的reCaptcha(是的,它是服务器端)因为客户端总是可以打开客户端Captcha。
但无论如何,这里有8个使用jQuery的Cpatchas,包括教程。
8 jQuery CAPTCHA Plugin with Tutorial
希望有所帮助:)