HEX
Server: Apache
System: Linux server1.ariadata.co 4.18.0-553.120.1.el8_10.x86_64 #1 SMP Mon Apr 20 18:04:27 EDT 2026 x86_64
User: nepi (1051)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system,show_source,popen,proc_open
Upload Files
File: /home/nepi/file.nepi.ir/common/Settings/Validators/RecaptchaCredentialsValidator.php
<?php

namespace Common\Settings\Validators;

use Exception;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Http;

class RecaptchaCredentialsValidator
{
    const KEYS = ['recaptcha.site_key', 'recaptcha.secret_key'];

    public function fails($settings): array|false
    {
        try {
            $response = Http::asForm()->post(
                'https://www.google.com/recaptcha/api/siteverify',
                [
                    'response' => 'foo-bar',
                    'secret' => Arr::get($settings, 'recaptcha.secret_key'),
                ],
            );

            if (
                $response['success'] === false &&
                $response['error-codes'][0] !== 'invalid-input-response'
            ) {
                return [
                    'recaptcha_group' =>
                        Arr::get($response, 'error-codes')[0] ??
                        __('These credentials are not valid'),
                ];
            }
        } catch (Exception $e) {
            return $this->getErrorMessage($e);
        }

        return false;
    }

    private function getErrorMessage(Exception $e): array
    {
        return ['recaptcha_group' => $e->getMessage()];
    }
}