| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- <?php
- /*
- Copyright (c) 2009-2017 F3::Factory/Bong Cosca, All rights reserved.
- This file is part of the Fat-Free Framework (http://fatfreeframework.com).
- This is free software: you can redistribute it and/or modify it under the
- terms of the GNU General Public License as published by the Free Software
- Foundation, either version 3 of the License, or later.
- Fat-Free Framework is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
- You should have received a copy of the GNU General Public License along
- with Fat-Free Framework. If not, see <http://www.gnu.org/licenses/>.
- */
- 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'];
- }
- }
|