Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Гайд Подключение reCaptcha на сайт

Забаненный
Забаненный
Статус
Оффлайн
Регистрация
22 Фев 2018
Сообщения
1,923
Реакции
524
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Добрый вечер, если у вас на сайте нет рекапчи, это печально, так как селениум все еще хорошо работает и ничто не мешает использовать его для получения большого количества аккаунтов, или совершения каких-то постоянных, непрерывных действий. Собственно, вот гайд по установке рекапчи.

Первый шаг:

Нужно зарегать рекапчу на свой сайт -
Пожалуйста, авторизуйтесь для просмотра ссылки.

В конфиг выносим все данные, прописаные у вас по вышеуказанной ссылке.

PHP:
Expand Collapse Copy
define('CODE', 'ваш секретный код');
define('URL', 'https://www.google.com/recaptcha/api/siteverify');

Второй шаг:

В бошку вставляем скрипт рекапчи:
<script src="
Пожалуйста, авторизуйтесь для просмотра ссылки.
" async defer></script>

И устанавливаем в заранее приготовленную форму наше поле с подтверждением
Его также, как и все другие данные можно вытащить из вашей админки рекапчи, выглядеть будет так, только с вашим id:
<div class="g-recaptcha" data-sitekey="айдишник_сайта"></div>

Третий шаг (перейдем к коду):

PHP:
Expand Collapse Copy
// обрабатываем запрос формы, которая была отправлена (рассматриваем POST) + надо инклюднуть конфиг

if(isset($_POST["g-recaptcha-response"])){

    $request = URL.'?secret='.CODE.'&response='.$_POST['g-recaptcha-response'].'&remoteip'.$_SERVER['REMOTE_ADDR'];
    $handler = json_decode(file_get_contents($request));
    
    // мы приняли запрос и обработали выходные данные, раскодировав json-ку
    
    // последний шаг - проверка на успешный ввод капчи. Ну, тут все просто.
    
    if ($handler-> success == True){
    // do stuff
    }else{
        exit("Вы - робот.")
    }

}

Вопросы - ответы. Только адекватные, пожалуйста.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
У самого гугла есть гайд как это всё делается, для чего тема?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
У самого гугла есть гайд как это всё делается, для чего тема?
Скопировал - вставил. Если думать как ты - гайды вообще не нужны, ведь везде есть документация, только вот проблема в том, что в документации ты не сможешь задать вопрос, неправда ли? Если у человека что-то неполучается с рекапчей - пусть зайдет и спросит. В чем проблема?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Скопировал - вставил. Если думать как ты - гайды вообще не нужны, ведь везде есть документация, только вот проблема в том, что в документации ты не сможешь задать вопрос, неправда ли? Если у человека что-то неполучается с рекапчей - пусть зайдет и спросит. В чем проблема?
Ладно, вопросов не имею
 
За инструкцию спасибо. Вот только не очень прикольно что рекаптча как пишет гугл "эволюционировала" иии встречайте - reCAPTCHA Enterprise, платно (Contact sales for pricing)
 
Так и хочется высловить собственное впечетления данному автору.

Во-первый правильно будет if($handler->success === true) или if($handler->success). Но это не так важно.
Во-вторых что если REMOTE_ADDR не сможет выдать IP, так как стоит Cloudflare, что скажете? Я вот знаю, но хочу спросить у автора поста.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Так и хочется высловить собственное впечетления данному автору.

Во-первый правильно будет if($handler->success === true) или if($handler->success). Но это не так важно.
Во-вторых что если REMOTE_ADDR не сможет выдать IP, так как стоит Cloudflare, что скажете? Я вот знаю, но хочу спросить у автора поста.
1. Воспользуйтесь расширением mod_cloudflare под апач.

2. В ином случае, есть техника которой пользуется достоточно много людей.

PHP:
Expand Collapse Copy
    if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
              $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
    }
 
1. Воспользуйтесь расширением mod_cloudflare под апач.

2. В ином случае, есть техника которой пользуется достоточно много людей.

PHP:
Expand Collapse Copy
    if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
              $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
    }
Я прекрасно знаю. Спасибо.
 
Назад
Сверху Снизу