(Решение) Ошибка ReCaptcha на Drupal 9

(Решение) Ошибка ReCaptcha на Drupal 9

Вот опять “танцы с бубном”, однако развивает. Сегодня для борьбы с ботами решил установить старый-добрый модуль ReCaptcha ну и для полного счастья вывел его на странице логина, После чего спокойно вышел из системы, однако когда вновь решил авторизоваться получил белый экран с известной надписью(для тех кто в теме).

Вот решение:

  • Скачиваем модуль более старой версии  8.x-2.5
  • Копируем из его папки каталог ‘recaptcha-php’ в корень папки модуля  ReCaptcha.
  • Открываем файл recaptcha.module и добавляем в него следующие строки:
  • require_once dirname(__FILE__) . '/recaptcha-php/src/ReCaptcha/ReCaptcha.php';
    require_once dirname(__FILE__) . '/recaptcha-php/src/ReCaptcha/RequestMethod.php';
    require_once dirname(__FILE__) . '/recaptcha-php/src/ReCaptcha/RequestParameters.php';
    require_once dirname(__FILE__) . '/recaptcha-php/src/ReCaptcha/Response.php';
    require_once dirname(__FILE__) . '/src/ReCaptcha/RequestMethod/Drupal8Post.php';

    В итоге должно получиться так:

  • <?php
    
    /**
     * @file
     * Verifies if user is a human without necessity to solve a CAPTCHA.
     */
    
    use ReCaptcha\ReCaptcha;
    use Drupal\Core\Routing\RouteMatchInterface;
    use Drupal\Core\Template\Attribute;
    use Drupal\Core\Url;
    use Drupal\recaptcha\ReCaptcha\RequestMethod\Drupal8Post;
    
    require_once dirname(__FILE__) . '/recaptcha-php/src/ReCaptcha/ReCaptcha.php';
    require_once dirname(__FILE__) . '/recaptcha-php/src/ReCaptcha/RequestMethod.php';
    require_once dirname(__FILE__) . '/recaptcha-php/src/ReCaptcha/RequestParameters.php';
    require_once dirname(__FILE__) . '/recaptcha-php/src/ReCaptcha/Response.php';
    require_once dirname(__FILE__) . '/src/ReCaptcha/RequestMethod/Drupal8Post.php';
    
    /**
     * Implements hook_help().
     */

    Мне пришлось полностью переустановить модули Capthca и запустить update.php, зато теперь все прекрасно работает!

Статья была полезной? Поделитесь с друзьями!
Метки: