За последние 24 часа нас посетили 18170 программистов и 1697 роботов. Сейчас ищут 1542 программиста ...

Настройка ReCAPTCHA

Тема в разделе "PHP для новичков", создана пользователем koraga, 23 апр 2017.

Метки:
  1. koraga

    koraga Новичок

    С нами с:
    23 апр 2017
    Сообщения:
    3
    Симпатии:
    0
    Добрый день нужна помощь с настройкой reCaptcha v2:

    У меня есть форма мне же нужно чтоб человек оставался на этой же странице с предупреждением о не заполнении CAPTCHA и набранным сообщением в форме, но в моем коде когда человек не ставит галочку на иконке "I'm not a robot" recaptha code я смог добиться только следящего отправляет человека на пустую страницу с словами "Капча введена неверно" и сразу отправляет на пустую форму.

    Судорожно прошу помощи.

    Вот пример с самого сайта Google
    https://www.google.com/recaptcha/api2/demo

    Вот мой php обработчик:
    PHP:
    1.    if ( !$_POST['g-recaptcha-response'] )
    2. $url = 'https://www.google.com/recaptcha/api/siteverify';
    3. $key = 'СЕКРЕТНЫЙ КЛЮЧ';
    4. $query = $url.'?secret='.$key.'&response='.$_POST['g-recaptcha-response'].'&remoteip='.$_SERVER['REMOTE_ADDR'];
    5. $data = json_decode(file_get_contents($query));
    6.  
    7. if ( $data->success == false)
    8. $back = $_SERVER['HTTP_REFERER'];
    9. echo "
    10. <html>
    11.  <head>
    12.   <meta http-equiv='Refresh' content='0; URL=".$_SERVER['HTTP_REFERER']."'>
    13.  </head>
    14. </html>";
    15. exit('Капча введена неверно');
     
    #1 koraga, 23 апр 2017
    Последнее редактирование модератором: 23 апр 2017
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    https://developers.google.com/recaptcha/docs/display смотри data-callback
    Можно даже с помощью javascript проверить если пользователь прошёл капчу и не пускать его дальше пока он её не разгадает, но потом на сервере проверять снова тоже нужно будет
     
  3. koraga

    koraga Новичок

    С нами с:
    23 апр 2017
    Сообщения:
    3
    Симпатии:
    0
    Проверку у меня проходит с этим все впорядке. Нужно что бы если человек не отметил капчу его вернуло обратно на страницу с заполнеными данными и оповещением. Что написать после if($data->success==false) ?
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Раз ты хочешь заполнить поля информацией которую он ввёл, то проще всего не перекидывать его, а оставить на той же странице, так ты сможешь снова заполнить поля из $_GET или $_POST смотря каким методом ты отправляешь данные
     
    koraga нравится это.