Не работает каптча от Яндекса

Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Не работает каптча от Яндекса

Сообщение support »

Проверьте ключи. Скорей всего не верный secret_key
Аватара пользователя
mikhalkin
Инвестор
Инвестор
Сообщения: 193
Зарегистрирован: 04 июн 2018, 15:07
Имя: Александр
Откуда: Москва
Организация: Нионейт
Контактная информация:

Re: Не работает каптча от Яндекса

Сообщение mikhalkin »

Проверил, ключи верные.
Каптчу прохожу, но все так же всплывает: Пожалуйста, подтвердите, что вы не робот!
Вложения
Снимок экрана 2026-01-04 224342.png
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Не работает каптча от Яндекса

Сообщение support »

При проверке используется "Ключ сервера", проверьте его. Если он не верный, то проверка проходить не будет.
Аватара пользователя
mikhalkin
Инвестор
Инвестор
Сообщения: 193
Зарегистрирован: 04 июн 2018, 15:07
Имя: Александр
Откуда: Москва
Организация: Нионейт
Контактная информация:

Re: Не работает каптча от Яндекса

Сообщение mikhalkin »

Проверил, ключ верный.
Так же и публичный ключ верный.
Все равно осталась проблема
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Не работает каптча от Яндекса

Сообщение support »

В файле includes\classes\app_recaptcha.php
найдите функцию

Код: Выделить всё

static function verify_yandex()
    {
        $ch = curl_init("https://smartcaptcha.yandexcloud.net/validate");
        $args = [
            "secret" => CFG_YANDEX_SMARTCAPTCHA_SECRET_KEY,
            "token" => $_POST['smart-token']??'',
            "ip" => $_SERVER['REMOTE_ADDR'],                         
        ];
        curl_setopt($ch, CURLOPT_TIMEOUT, 1);
        curl_setopt($ch, CURLOPT_POST, true);    
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($args));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        $server_output = curl_exec($ch); 
        
        $resp = json_decode($server_output);
        return $resp->status === "ok";
    }
И проверьте что выводит $server_output

Обратите внимание что в качестве аргументов передаем $_SERVER['REMOTE_ADDR'], возможно ваш сервер не передает. Проверьте так же $args.
Аватара пользователя
mikhalkin
Инвестор
Инвестор
Сообщения: 193
Зарегистрирован: 04 июн 2018, 15:07
Имя: Александр
Откуда: Москва
Организация: Нионейт
Контактная информация:

Re: Не работает каптча от Яндекса

Сообщение mikhalkin »

Отдается домен. Пока не понимаю в чем проблема
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Не работает каптча от Яндекса

Сообщение support »

Похоже что где то curl запрос блокируется.
Аватара пользователя
mikhalkin
Инвестор
Инвестор
Сообщения: 193
Зарегистрирован: 04 июн 2018, 15:07
Имя: Александр
Откуда: Москва
Организация: Нионейт
Контактная информация:

Re: Не работает каптча от Яндекса

Сообщение mikhalkin »

Ругается в PHP логах на это:

[10-Jan-2026 17:59:26 Europe/Moscow] PHP Warning: Attempt to read property "status" on null in \includes\classes\app_recaptcha.php on line 153
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Не работает каптча от Яндекса

Сообщение support »

Ну потому что его нет.

Что показывает var_dump($server_output); ?
Ответить