Использование reCAPTCHA на локальном хосте

Я разрабатываю веб-сайт с использованием PHP, и я хочу сделать проверку человека на одной из сессий. Для разработки я изначально запускаю систему локально, и когда она будет готова, я собираюсь включить ее в определенный домен.

На веб-сайте reCAPTCHA говорится, что плагин будет работать только в данном домене (и поддоменах).

Мой вопрос: есть ли способ использовать плагин reCAPTCHA на локальном хосте?

    Обновить

    Исходный ответ больше не правильный. В руководстве разработчика теперь говорится:

    «Если вы хотите использовать« localhost »для разработки, вы должны добавить его в список доменов».

    Это будет работать, только если вы используете localhost, используя 127.0.0.1/... а не localhost/...

    Исходный ответ сохраняется ниже.


    Согласно Руководству разработчика reCAPTCHA :

    «Домены localhost больше не поддерживаются по умолчанию. Если вы хотите продолжить их поддержку для разработки, вы можете добавить их в список поддерживаемых доменов для вашего ключа сайта. Перейдите в консоль администратора, чтобы обновить список поддерживаемых доменов. используйте отдельный ключ для разработки и производства и не позволяйте локальному хосту на вашем рабочем сайте ключом ».

    Другими словами, просто используйте один и тот же ключ.

    Обратите внимание, что с 2016 года ReCaptcha больше не поддерживает локальную версию . Из FAQ:

    Домены localhost больше не поддерживаются по умолчанию. Если вы хотите продолжить их поддержку для разработки, вы можете добавить их в список поддерживаемых доменов для вашего ключа сайта. Перейдите в консоль администратора, чтобы обновить список поддерживаемых доменов. Мы советуем использовать отдельный ключ для разработки и производства и не допускать локальный хост на ваш производственный ключ сайта.

    Поэтому просто добавьте localhost в свой список доменов для своего сайта, и вы будете хорошими.

    Это очень просто:

    1. Перейдите в панель администратора google reCaptcha
    2. Добавьте localhost & 127.0.0.1 в домены нового сайта, например, следующего изображения.

    введите описание изображения здесь


    Обновить:

    Если ваш вопрос заключается в том, как установить reCaptcha на сайте Google для его использования в локальном reCaptcha , то я написал его выше, но если вам интересно, как вы можете использовать reCAPTCHA как на localhost website host так и на website host по минимальным кодам в вашем controllerе и предотвратить некоторые таких как ConfigurationManager.AppSettings["ReCaptcha:SiteKey"] тогда я помогу вам с этим дополнительным описанием и кодами в моем ответе.

    Вам нравятся следующие действия GET и POST?

    Он поддерживает reCaptcha и не нуждается в каких-либо других кодах для обработки reCaptcha.

     [HttpGet] [Recaptcha] public ActionResult Register() { // Your codes in GET action } [HttpPost] [Recaptcha] [ValidateAntiForgeryToken] public ActionResult Register(RegisterViewModel model, string reCaptcha_SecretKey){ // Your codes in POST action if (!ModelState.IsValid || !ReCaptcha.Validate(reCaptcha_SecretKey)) { // Your codes } // Your codes } 

    В представлении: ( ссылка )

     @ReCaptcha.GetHtml(@ViewBag.publicKey) @if (ViewBag.RecaptchaLastErrors != null) { 
    Oops! Invalid reCAPTCHA =(
    }

    Использовать его

    A) Добавьте в свой веб-проект следующий ActionFilter :

     public class RecaptchaAttribute : FilterAttribute, IActionFilter { public void OnActionExecuting(ActionExecutingContext filterContext) { var setting_Key = filterContext.HttpContext.Request.IsLocal ? "ReCaptcha_Local" : "ReCaptcha"; filterContext.ActionParameters["ReCaptcha_SecretKey"] = ConfigurationManager.AppSettings[$"{setting_Key}:SecretKey"]; } public void OnActionExecuted(ActionExecutedContext filterContext) { var setting_Key = filterContext.HttpContext.Request.IsLocal ? "ReCaptcha_Local" : "ReCaptcha"; filterContext.Controller.ViewBag.Recaptcha = ReCaptcha.GetHtml(publicKey: ConfigurationManager.AppSettings[$"{setting_Key}:SiteKey"]); filterContext.Controller.ViewBag.publicKey = ConfigurationManager.AppSettings[$"{setting_Key}:SiteKey"]; } } 

    B) Добавьте reCaptcha настроек reCaptcha как для localhost и для website как в вашем файле webconfig :

             

    Примечание. Таким образом, вам не нужно было устанавливать параметр reCaptcha_SecretKey в post action или любой ViewBag для reCaptcha вручную в ваших действиях и представлениях, все они будут заполняться автоматически во время выполнения с соответствующими значениями в зависимости от того, как вы запустили проект на локальном хосте или веб-сайт. »

    Это сработало для меня:

    «С помощью следующих тестовых клавиш вы всегда получите« CAPTCHA », и все запросы на проверку пройдут.

    Ключ сайта: 6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI Секретный ключ: 6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe Виджет reCAPTCHA покажет предупреждение, в котором утверждается, что он предназначен только для тестирования. Пожалуйста, не используйте эти ключи для своего производственного трафика ».

    Извлечен здесь: https://developers.google.com/recaptcha/docs/faq

    BR!

    Недавно Google изменил режим остановки, разрешив по умолчанию использовать localhost. (как это коснулось @Artur Cesar De Melo) Это под их FAQ:

    Я получаю сообщение об ошибке «Localhost не входит в список поддерживаемых доменов». Это работало раньше, что мне делать?

    Домены localhost больше не поддерживаются по умолчанию. Если вы хотите продолжить их поддержку для разработки, вы можете добавить их в список поддерживаемых доменов для вашего ключа сайта. Перейдите в консоль администратора, чтобы обновить список поддерживаемых доменов. Мы советуем использовать отдельный ключ для разработки и производства и не допускать локальный хост на ваш производственный ключ сайта.

    1: Создайте отдельный ключ для среды разработки

    2: Добавить 127.0.0.1 в список разрешенных доменов

    3: сохранить изменения и разрешить до 30 минут, чтобы изменения повлияли

    Согласно документации Google recaptcha

    Домены localhost больше не поддерживаются по умолчанию. Если вы хотите продолжить их поддержку для разработки, вы можете добавить их в список поддерживаемых доменов для вашего ключа сайта. Перейдите в консоль администратора, чтобы обновить список поддерживаемых доменов. Мы советуем использовать отдельный ключ для разработки и производства и не допускать локальный хост на вашем рабочем сайте

    Recaptcha не будет работать на localhost/

     Use `127.0.0.1/` instead of `localhost/` 

    Удалите текущий ключ REcaptcha, затем зарегистрируйте новый ключ и установите свои настройки ключа с доменами: 127.0.0.1 localhost

    Если у вас старый ключ, вы должны воссоздать свой API-ключ. Также имейте в виду прокси.

    https://developers.google.com/recaptcha/docs/domain_validation

    Проверьте, где говорится, что вы можете отключить проверку. Только делайте это для развития.

    Да, это старый вопрос, но это может помочь всем пользователям, имеющим проблемы с reCaptcha на localhost. Google действительно говорит: «По умолчанию все ключи работают на« localhost »(или« 127.0.0.1 »), но для реального использования reCaptcha на localhost могут возникнуть проблемы. В моем случае я решил использовать безопасный токен

    Я опубликовал РАБОЧИЙ РЕШЕНИЕ для PHP здесь

    Вы можете написать «localhost» или «127.0.0.1», но URL должен быть одинаковым

    Пример: Домены Google Add-> localhost URL => localhost / login.php

    Пример: Google Домены Добавить-> 127.0.0.1 URL => 127.0.0.1/login.php

    Недавно я работал над созданием веб-сайта с recaptcha v2, и мне нужно сделать автоматизацию тестирования на моем локальном хосте. Я не добавлял никаких ip или localhost в портал администратора recaptcha.

    Выполните следующие шаги

    1. Войдите в скриншот сайта администратора

    2. Найти параметры ключа

    3. Нажмите дополнительные настройки

    4. В разделе « Проверка имени домена» снимите флажок « Проверить источник возникновения решений reCAPTCHA» . Эта опция используется для проверки запросов, поступающих из одного из перечисленных выше доменов.

      Обратите внимание, что при отключении вы должны проверить имя хоста на своем сервере при проверке решения.


    Я создал новый ключ и отключил его и использовал этот ключ для тестирования в localhost.

    Это примерная страница, которая реализует reCAPTCHA для комментариев.

    Давайте будем гением компьютера.