2009-02-12 13 views
8

Ich versuche, eine Recaptcha mit jQuery, um zu überprüfen, aber ich halte einen Fehler immer mir zu sagen: Der Zugriff auf eingeschränkte URI verweigert „Code:“ 1012Überprüfen RECAPTCHA mit jQuery

Das ist, was ich bisher ausprobiert habe :

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."); 
    } 
    }); 

Jeder versucht, diese, die mich in die richtige Richtung zeigen kann?

Danke.

Antwort

16

JavaScript ist aus Sicherheitsgründen nicht berechtigt domänenübergreifende XMLHttpRequests zu erstellen. Es gibt workarounds, aber sie funktionieren nur, wenn Sie beide Domänen steuern.

Lösung: Machen Sie einen AJAX-Anruf zu Ihrem eigenen Server, und kontaktieren Sie recaptcha durch Server-Side-Code.

0

@Magnar bereits beantwortet w/Bezug auf die Sicherheitsgründe. @Guido Lemmens 2 gab ein PHP-Beispiel. Ich wollte einige ASP.NET WebForms (vs. MVC) Code von einem anderen Stack question hinzufügen.