Проверка RECAPTCHA с помощью jQuery - PullRequest
8 голосов
/ 12 февраля 2009

Я пытаюсь проверить Recaptcha с помощью jQuery, но постоянно получаю сообщение об ошибке: «Доступ к ограниченному 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 ]

16 голосов
/ 12 февраля 2009

JavaScript запрещен для создания междоменных запросов XMLHttpRequest из соображений безопасности. Есть обходные пути , но они работают, только если вы контролируете оба домена.

Решение: выполните AJAX-вызов на свой сервер и свяжитесь с recaptcha через код на стороне сервера.

3 голосов
/ 04 сентября 2012

я бы посмотрел -> racaptcha docs AJAX есть полный пример в javascript.

1 голос
/ 12 августа 2011

Полное демо можно найти и загрузить с этой страницы . Но вам все еще нужно сгенерировать открытый и закрытый ключи для вашего домена здесь https://www.google.com/recaptcha/admin/create

0 голосов
/ 04 апреля 2012

@ Магнар уже ответил с уважением по соображениям безопасности. @Guido Lemmens 2 привел пример PHP. Я хотел добавить код ASP.NET WebForms (против MVC) из другого стека вопрос .

...