Страница 2 из 2
Re: Не работает каптча от Яндекса
Добавлено: 29 дек 2025, 12:09
support
Проверьте ключи. Скорей всего не верный secret_key
Re: Не работает каптча от Яндекса
Добавлено: 04 янв 2026, 22:44
mikhalkin
Проверил, ключи верные.
Каптчу прохожу, но все так же всплывает: Пожалуйста, подтвердите, что вы не робот!
Re: Не работает каптча от Яндекса
Добавлено: 05 янв 2026, 17:51
support
При проверке используется "Ключ сервера", проверьте его. Если он не верный, то проверка проходить не будет.
Re: Не работает каптча от Яндекса
Добавлено: 07 янв 2026, 12:12
mikhalkin
Проверил, ключ верный.
Так же и публичный ключ верный.
Все равно осталась проблема
Re: Не работает каптча от Яндекса
Добавлено: 08 янв 2026, 08:19
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.
Re: Не работает каптча от Яндекса
Добавлено: 10 янв 2026, 12:59
mikhalkin
Отдается домен. Пока не понимаю в чем проблема
Re: Не работает каптча от Яндекса
Добавлено: 10 янв 2026, 17:04
support
Похоже что где то curl запрос блокируется.
Re: Не работает каптча от Яндекса
Добавлено: 10 янв 2026, 18:00
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
Re: Не работает каптча от Яндекса
Добавлено: 10 янв 2026, 19:13
support
Ну потому что его нет.
Что показывает var_dump($server_output); ?