2010-08-10 8 views
4

reCAPTCHA требует открытого и закрытого ключа, прежде чем он может быть внедрен на веб-сайт. Он также нуждается в ключах reCAPTCHA в зависимости от веб-сайта. В чем причина этого? Использует ли открытый и закрытый ключ для слов, отображаемых в reCAPTCHA? Я знаю, что я могу установить открытый и закрытый ключ GLOBAL, в котором он может использоваться для других доменов , но, зачем даже нужны ключи в первую очередь?В чем смысл использования открытого и закрытого ключей для reCAPTCHA?

+0

Чтобы добавить это. Я работал над реализацией reCaptcha в проекте MVC 3, а на стороне клиента элемент управления отправляет значение ответа на сервер reCaptcha, а затем, когда мои данные формы попадают на сервер, я вызываю сервер reCaptcha с помощью закрытого ключа, но ничего else для подтверждения запроса. Мне интересно, если у меня есть два человека, которые одновременно представляют эту форму, как она узнает, какой запрос отправил ответ? –

ответ

5

OK. Это моя догадка, никаких гарантий.

  1. Ваш открытый ключ требуется при создании клиентской страницы.
  2. Клиент использует этот открытый ключ для запроса от recaptcha: изображения, соответствующего правильного ответа и, возможно, идентификатора. Конечно, ответ и идентификатор зашифровываются, используя открытый ключ. (Таким образом, клиент не может знать ответ)
  3. Пользовательский тип ответов в ответе, отправляет его на ваш сервер.
  4. У вас есть: {id, answer} зашифрованный с использованием открытого ключа. Вы отправляете свой секретный ключ и это зашифрованное сообщение на сервер recaptcha.
  5. recaptcha расшифровывает сообщение, показывая ответ и идентификатор и проверяет, совпадают ли они.
  6. он сообщает вашему серверу результат проверки.

Примечание:

  1. Если пользователь отправляет открытый ключ своего, чтобы рекапчи, проверка не удастся, так как секретный ключ не работает с его открытым ключом.
  2. Схема доказывает, что ваш сервер действительно тот, кто получает ответ recaptcha.

 Смежные вопросы

  • Нет связанных вопросов^_^