Настройка reCAPTCHA в HTML Форма обратной связи - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть контактная форма на моем веб-сайте, где я включил reCAPTCHA. Клиентская сторона работает; Однако на стороне сервера есть проблема. На странице интеграции со стороны сервера веб-сайта Google reCAPTCHA представлена ​​таблица секретного ключа, ответа и удаленного доступа. Я включил их в свой код, но не знаю, что включить в ответ, поскольку в таблице указано:

ответ: обязательно. Маркер ответа пользователя, предоставленный клиентской интеграцией reCAPTCHA на вашем сайте.

Вот мой PHP код:

    $secretKey="";
    $responseKey=$_POST['g-recaptcha-response'];
    $UserIP = $_SERVER['REMOTE_ADDR'];
    $url="...siteverify?secret=$secretKey$response=$responseKey&remoteip=$UserIP";

    $response = file_get_contents($url);
    $response = json_decode($response);

    if($response->success){
    do something
    }
    else{
    Display error message
    }

В настоящее время это не работает, и код выполняет остальную часть if, даже если пользователь проверен. Я не уверен в значении $ response, поэтому я предполагаю, что это проблема. Как я могу исправить эту проблему? Это из-за $ response? Если да, то какое значение я должен дать $ response здесь:

$responseKey=$_POST['g-recaptcha'];

1 Ответ

0 голосов
/ 09 апреля 2020

Я думаю, у тебя просто опечатка. У вас есть «$» перед ответом в вашей строке URL, поэтому она интерпретируется как переменная PHP, которая в настоящее время не определена. Вместо этого это должен быть амперсанд (&).

Возможно, это не единственная проблема, но это первое, что я вижу.

...