1 Отредактировано Олег Карпов (10.04.2018 13:00:47)

Тема: Captcha

Здравствуйте, объясните как работает проверка капчи? Написал модуль на для капчи но при проверки пишет что капча установлена не верно, хотя

check(){}

капчи отдает что капча верна, тобишь 1 или true. Есть один нюанс мой модуль не использует стандартное поле капчи! оно генерируется js скриптом а в модуле я значение получаю с помощью

\RS\Http\Request::commonInstance()->post('key', TYPE_STRING, false);

и уже в теле функции

check

делаю проверку!


Странное поведение фукции

check(){}
function check($data, $context = null)
    {
        if (\Setup::$DISABLE_CAPTCHA) {
            return true;
        }

        $response = \RS\Http\Request::commonInstance()->post('g-recaptcha-response', TYPE_STRING);

        if(!$response){ return false; }

        $result = $this->callApi(array(
              'secret'   => self::$config['private_key'],
              'response' => $response,
              'remoteip' => \RS\http\Request::commonInstance()->server('REMOTE_ADDR', TYPE_STRING)
        ));

        return $result;
    }

Но функция всегда возвращает лож! Если даже ответ от сервера верный!

И если даже переписать вот так

if($result){
            return true;
        } else {
            return false;
        }

То все равно он будет отдавать лож! Как так?

Повысить оценку Понизить оценку