8

jQuery を使用して Recaptcha を検証しようとしていますが、「制限付き URI へのアクセスが拒否されました」というエラーが表示され続けます」コード:「1012

これは私がこれまでに試したことです:

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

誰もがこれを試しましたが、誰が私を正しい方向に向けることができますか?

ありがとう。

4

4 に答える 4

16

セキュリティ上の理由から、JavaScript でクロスドメインの XMLHttpRequest を作成することは禁止されています。回避策はありますが、両方のドメインを制御している場合にのみ機能します。

解決策: 独自のサーバーに対して AJAX 呼び出しを行い、サーバー側のコードを介して recaptcha に接続します。

于 2009-02-12T10:46:00.347 に答える
3

私は見ます-> racaptcha docs AJAX javascriptで完全な例があります。

于 2012-09-04T00:18:15.933 に答える
1

完全なデモは、このページから見つけてダウンロードできます。ただし、ここでドメインの公開鍵と秘密鍵を生成する必要がありますhttps://www.google.com/recaptcha/admin/create

于 2011-08-12T12:22:41.987 に答える
0

@Magnarは、セキュリティ上の理由に関してすでに回答しています。@Guido Lemmens 2 は PHP の例を示しました。別の Stack questionから ASP.NET WebForms (vs. MVC) コードを追加したかったのです。

于 2012-04-03T21:05:57.447 に答える