RuCaptcha Google Recaptcha V3
Opened this issue · 5 comments
Способ, описанный в документации https://github.com/jumper423/decaptcha/blob/master/docs/RuCaptchaReCaptchaV3-ru.md для обхода Recaptcha V3 не работает. Возвращается ошибка:
[message:protected] => ERROR_EMPTY_METHOD
[string:Exception:private] =>
[code:protected] => 0
[file:protected] => /var/www/html/autocheck/vendor/jumper423/decaptcha/src/core/DeCaptchaBase.php
[line:protected] => 184
Нашел ошибку
Вместо
RuCaptchaReCaptchaV3::ACTION_FIELD_ACTION => 'verify',
следует писать
RuCaptchaReCaptchaV3::ACTION_FIELD_ACTION_TEXT => 'verify',
@blood73 константы ACTION_FIELD_ACTION_TEXT не существует ведь. Как это могло помочь решить проблему?
@jumper423, вы правы. Проблему решило в версии 2.0.4. В последней версии это не работает
@blood73 в версии 2.0.4 класса RuCaptchaReCaptchaV3 не существует. Он есть только в последней.
Пришлите, пожалуйста, код который вызывает ошибку
@blood73 в версии 2.0.4 класса RuCaptchaReCaptchaV3 не существует. Он есть только в последней.
Пришлите, пожалуйста, код который вызывает ошибку
$this->ru_captcha = new RuCaptchaReCaptchaV3([
RuCaptchaReCaptchaV3::ACTION_FIELD_KEY => RECAPTCHA_API_KEY,
]);
$this->captcha_params = [
RuCaptchaReCaptchaV3::ACTION_FIELD_GOOGLEKEY => self::GOOGLE_KEY,
RuCaptchaReCaptchaV3::ACTION_FIELD_ACTION => $action,
RuCaptchaReCaptchaV3::ACTION_FIELD_MIN_SCORE => '0.5',
RuCaptchaReCaptchaV3::ACTION_FIELD_PAGEURL => self::GIBDD_URL_CAPTCHA,
RuCaptchaReCaptchaV3::ACTION_FIELD_METHOD => 'userrecaptcha',
];
$this->ru_captcha->setCauseAnError(true);
try {
$this->ru_captcha->recognize($this->captcha_params);
$this->captcha_code = $this->ru_captcha->getCode();
if (!empty($this->captcha_code)) {
$result = true;
}
} catch (\jumper423\decaptcha\core\DeCaptchaErrors $e) {
fn_print_r($e->getMessage());
}
Как я понимаю, проблема в ACTION_FIELD_ACTION, при проверке результата решения капчи подменяется параметр action, который должен быть get