Recaptcha: 我想使用recaptcha作爲構建於jQuery和ASP.net上的我的網站的登錄頁面。在發佈這個問題之前,我搜索了關於recaptcha和研究... 使用recaptcha與ASP.NET做服務器端驗證,我需要包括dll的reCaptcha並將其用作服務器控件,然後驗證它使用頁面的isValid屬性。用於客戶端驗證的Recaptcha理想解決方案
我想要的是使用jquery的recaptcha客戶端驗證,我該如何做?
有沒有什麼好的教程來做到這一點或理想的解決方案?
Recaptcha: 我想使用recaptcha作爲構建於jQuery和ASP.net上的我的網站的登錄頁面。在發佈這個問題之前,我搜索了關於recaptcha和研究... 使用recaptcha與ASP.NET做服務器端驗證,我需要包括dll的reCaptcha並將其用作服務器控件,然後驗證它使用頁面的isValid屬性。用於客戶端驗證的Recaptcha理想解決方案
我想要的是使用jquery的recaptcha客戶端驗證,我該如何做?
有沒有什麼好的教程來做到這一點或理想的解決方案?
你不能做到這一點在客戶端。如果沒有服務器的幫助,你無法做到這一點,因爲recaptcha歸谷歌(不是你的域名)所有,你不能直接提出請求來驗證它。
由於安全原因,禁止跨域XMLHttpRequests。您也可以在recaptcha填寫完畢(recaptcha_response_field
的onblur
)並驗證它時向您的服務器發出AJAX呼叫。
你可以詳細說明如何做到這一點? 這樣的: $就 ({ 類型: 'POST', URL: '的WebMethod', 數據:JSON.stringify(captchaInfo) 的contentType:「應用/ JSON;字符集= utf-8的」, 數據類型: 'JSON', 成功:函數(MSG) { 警報(msg.d); //或者是O假真,true表示CAPTCHA驗證成功 。} }); – abhijit
看看這是否會幫助你 - http://code.google.com/apis/recaptcha/docs/display.html#AJAX –
那個我已經看到 – abhijit
如果告訴你,你有什麼已經但我沒有找到這可能是類似的東西可能會幫助你的尋找。
我建議使用谷歌的reCaptcha(是它的服務器端),因爲客戶端可以隨時打開客戶端驗證碼。
但無論如何這裏是8個使用jQuery的Cpatchas,包括教程。
8 jQuery CAPTCHA Plugin with Tutorial
希望它能幫助:)
爲什麼在世界上,你會要處理在客戶端驗證碼?也許你就幫您的表單提交函數裏面是這樣的:
$("#form1").submit(function(){
// other validation
if(reCaptchaValidated()==false){
return false;
}
});
您能防止有人這樣做:
$('#form1').unbind("submit").submit();
這裏是我的解決方案
添加引用谷歌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;
}
希望這有助於
與客戶端驗證的問題是,用戶可以將其關閉,和機器人甚至可能不會想運行它... – cjk
良好的閱讀HTTP: //bit.ly/1hsTyyz – Coder