. */ namespace Web\Google; //! Google ReCAPTCHA v2 plug-in class Recaptcha { const //! API URL URL_Recaptcha='https://www.google.com/recaptcha/api/siteverify'; /** * Verify reCAPTCHA response * @param string $secret * @param string $response * @return bool **/ static function verify($secret,$response=NULL) { $fw=\Base::instance(); if (!isset($response)) $response=$fw->{'POST.g-recaptcha-response'}; if (!$response) return FALSE; $web=\Web::instance(); $out=$web->request(self::URL_Recaptcha,[ 'method'=>'POST', 'content'=>http_build_query([ 'secret'=>$secret, 'response'=>$response, 'remoteip'=>$fw->IP ]), ]); return isset($out['body']) && ($json=json_decode($out['body'],TRUE)) && isset($json['success']) && $json['success']; } }