2009-02-12 4 views
8

Sto cercando di verificare un Recaptcha utilizzando jQuery, ma io continuo a ricevere un errore che mi diceva: L'accesso a URI limitato negato "Codice:" 1012Verifica reCAPTCHA con jQuery

Questo è quello che ho provato finora :

var challengeVal = $("#recaptcha_challenge_field").attr("value"); 
var reponseVal = $("#recaptcha_response_field").attr("value"); 
var remoteIp = <%= "'" + Request.ServerVariables["REMOTE_HOST"] + "'" %> 
var privateKey = 'MY_PRIVATE_KEY'; 

var requestUrl = "http://api-verify.recaptcha.net/verify?privatekey=" + privateKey + "&remoteip=" + remoteIp + "&challenge=" + challengeVal + "&response=" + reponseVal; 

$.ajax({ 
    type: "POST", 
    url: requestUrl, 
    dataType: "json", 
    success: function(data) { 
     alert('response from recaptcha'); 
    }, 
    error: function() { 
     alert("An error occured."); 
    } 
    }); 

Chiunque ha provato questo, chi può indicarmi la giusta direzione?

Grazie.

risposta

16

JavaScript è vietato eseguire XMLHttpRequests tra domini per motivi di sicurezza. Ci sono workarounds, ma funzionano solo se controlli entrambi i domini.

Soluzione: effettuare una chiamata AJAX sul proprio server e contattare recaptcha tramite il codice lato server.

0

@Magnar ha già risposto w/rispetto ai motivi di sicurezza. @Guido Lemmens 2 ha dato un esempio PHP. Volevo aggiungere alcuni codici Web ASP di ASP.NET (vs MVC) da un altro stack question.