PHP и Google reCaptcha v2 - пустой ответ каждый раз - PullRequest
0 голосов
/ 03 марта 2019

У нас есть форма contact.html, в которой используется reCaptcha v2, бэкэнд-обработка которого находится в файле php.

Я предпринял достаточно шагов, чтобы понять, что когда мы отправляем подтверждение в API Google, ответвозвращается пустымНиже приведен код, который дал мне это доказательство.

$url = 'https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST["g-recaptcha-response"].'&remoteip='.$_SERVER['REMOTE_ADDR'];
    $verify = file_get_contents($url);
    echo $url;
    if (empty($verify)) echo 'Failed to fetch data';`

Однако, когда я вручную ввожу URL-адрес в браузер, я получаю ответ JSON, который указывает на успех.

Что тогдаэто разница?Почему file_get_contents возвращает пустое значение, если простой запрос get из браузера Chrome доставляет мне проблемы?

Я прочитал, что file_get_contents является синхронным, поэтому я не ожидал, что это просто ошибка noob при ожидании ответа.

Буду признателен за любую помощь, я впервые работаю с PHP.Это не сложно, но я могу упустить что-то жизненно важное.

1 Ответ

0 голосов
/ 03 марта 2019

Извините всех, я не могу понять почему, но проблема была в методе, используемом для проверки доступа к сайту.

Используя синтаксис curl, я наконец-то заработал.

...