%PDF- %PDF-
| Direktori : /home/graphicd/public_html/vebto/common/Validation/ |
| Current File : /home/graphicd/public_html/vebto/common/Validation/RecaptchaController.php |
<?php namespace Common\Validation;
use Common\Core\BaseController;
use Common\Settings\Settings;
use GuzzleHttp\Client;
use Illuminate\Http\Request;
class RecaptchaController extends BaseController
{
/**
* @var Request
*/
private $request;
/**
* @var Client
*/
private $http;
/**
* @var Settings
*/
private $settings;
/**
* @param Request $request
* @param Client $http
* @param Settings $settings
*/
public function __construct(Request $request, Client $http, Settings $settings)
{
$this->request = $request;
$this->http = $http;
$this->settings = $settings;
}
public function verify()
{
$this->validate($this->request, [
'token' => 'required|string'
]);
$response = $this->http->post('https://www.google.com/recaptcha/api/siteverify', [
'form_params' => [
'response' => $this->request->get('token'),
'secret' => $this->settings->get('recaptcha.secret_key'),
'remoteip' => $this->request->getClientIp()
]
]);
$response = json_decode($response->getBody()->getContents(), true);
$success = $response['success'] && $response['score'] > 0.1;
return $this->success(['success' => $success]);
}
}