Files
mtdb_movie/common/Validation/RecaptchaController.php
maher 703f50a09d
Some checks failed
Build / run (push) Has been cancelled
first commit
2025-10-29 11:42:25 +01:00

41 lines
1.1 KiB
PHP
Executable File

<?php namespace Common\Validation;
use Common\Core\BaseController;
use Common\Settings\Settings;
use GuzzleHttp\Client;
use Illuminate\Http\Request;
class RecaptchaController extends BaseController
{
public function __construct(
protected Request $request,
protected Client $http,
protected 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]);
}
}