Установка каптчі reCaptcha
Фреймворк YII2. Швидка розробка з сучасним PHP фреймворком
Дізнайся тонкощі сучасної веб-розробки за допомогою фреймворка YII2
При цьому заповнюємо наступні поля:
Назва - в даному полі прописуємо назву сайту.
Домени - вказуємо домен, на якому буде використовуватися каптча. Так само дозволяється вказати кілька доменів, при цьому кожен домен необхідно вводити з нового рядка.
Власники - в даному полі перераховуємо поштові скриньки власників каптчі (по одному в рядку).
Потім для завершення реєстрації натискаємо на кнопку Реєстрація. Після цього сервіс Google згенерує два ключа, які необхідні для роботи каптчі:
Публічний ключ - який необхідний для відображення блоку каптчі.
Секретний ключ - який необхідний для перевірки правильності відправки каптчі. При цьому секретний ключ повинен зберігається тільки на сервері і не повинен бути доступний для загального огляду.
Фреймворк YII2. Швидка розробка з сучасним PHP фреймворком
Дізнайся тонкощі сучасної веб-розробки за допомогою фреймворка YII2
Для відображення каптчі, необхідно підключити бібліотеку reCapthca на сторінці де вона повинна бути відображена:
Потім в місці, де повинна відображатися каптча, додаємо наступний блок:
При цьому в атрибуті data-sitekey блоку div повинен зберігатися публічний ключ. Після цього переходимо в браузер і оновлюємо список тесту.
Тепер reCaptcha відображається на тестовій сторінці, але при цьому захист від спаму ще не завершена, тому що дану форму можна відправити і не активуючи чекбокс каптчі. А значить, необхідно на стороні сервера, в скрипті обработчике форми, здійснити перевірку, на правильність заповнення каптчі.
Інтеграція каптчі на стороні сервера
Насамперед давайте подивимося, які дані ми отримаємо в скрипті обработчике після успішної активації чекбокса каптчі. Для цього, в скрипті обработчике форми, роздрукуємо на екран дані суперглобального масиву POST.
При цьому на екрані ми побачимо наступне.
І відправити наступні параметри:
secret - секретний ключ, який був згенерований при реєстрації користувача;
response - код, який був отриманий при активації чекбокса каптчі;
Для відправлення запиту, за вказаною запитом використовуємо curl - з'єднання:
Виконавши запит, сервіс Google поверне результат у вигляді рядка формату JSON, в якій міститься об'єкт, в структурі якого міститься властивість success. Якщо значення даного властивості рівне TRUE, значить каптча - активована вірно і повідомлення відправив користувач, а не спам-робот. В іншому ж випадку повідомлення відправив спам-робот.
На цьому даний урок завершено. Всього Вам доброго і вдалого кодування.
Фреймворк YII2. Швидка розробка з сучасним PHP фреймворком
Дізнайся тонкощі сучасної веб-розробки за допомогою фреймворка YII2
Найсвіжіші новини IT і веб-розробки на нашому Telegram-каналі
Створення діаграм за допомогою Google Chart
Прямо зараз подивіться курс по створенню діаграм за допомогою Google Chart!
Спасибі, я спочатку не зрозумів як це працює, але потім все зрозумів)))
взагалі я не справжній зварювальник і тупо скопіював код для інтеграції каптчі на стороні сервера (до того як це зробити, я вбив весь день на незрозуміло що), стало все працювати дуже ок, але якщо не ставиш чек бокс, то тупо викидає на порожню сторінку з такою ось фразою
Empty captcha, можете самі перевірити remontdoma24.ru/index.php?route=information/faq
Що робити як тут бути?
Спасибі, нарешті розібрався як працює каптча, на інших сайтах все як то зім'яв і давали готовий код.
А тут все детально розжували, і прийшло просвітлення))