You are here

public function ReCaptcha::verifyResponse in Google Captcha 7

Calls the reCAPTCHA siteverify API to verify whether the user passes CAPTCHA test.

Parameters

string $remoteIp IP address of end user.:

string $response response string from recaptcha verification.:

Return value

ReCaptchaResponse

File

ReCAPTCHA/php/recaptchalib.php, line 107

Class

ReCaptcha

Code

public function verifyResponse($remoteIp, $response) {

  // Discard empty solution submissions
  if ($response == null || strlen($response) == 0) {
    $recaptchaResponse = new ReCaptchaResponse();
    $recaptchaResponse->success = false;
    $recaptchaResponse->errorCodes = 'missing-input';
    return $recaptchaResponse;
  }
  $getResponse = $this
    ->_submitHttpGet(self::$_siteVerifyUrl, array(
    'secret' => $this->_secret,
    'remoteip' => $remoteIp,
    'v' => self::$_version,
    'response' => $response,
  ));
  $answers = json_decode($getResponse, true);
  $recaptchaResponse = new ReCaptchaResponse();
  if (trim($answers['success']) == true) {
    $recaptchaResponse->success = true;
  }
  else {
    $recaptchaResponse->success = false;
    $recaptchaResponse->errorCodes = $answers[error - codes];
  }
  return $recaptchaResponse;
}