Нова reCaptcha від Google

489

Від автора: створюючи сайти або веб-додатки, на сторінках яких у публічному доступі є форма відправлення деяких даних, завжди необхідно дбати про захист від небажаних повідомлень, тобто спаму. В даний момент є досить багато всіляких способів блокування спам повідомлень, але самий простий і надійний – це, звичайно ж, каптча, яка відома практично всім користувачам інтернету. При цьому, каптчі бувають різних видів графічні, текстові, математичні, питання-відповідь і т. д. Але в уроці Нова reCaptcha від Google ми поговоримо про каптче від сервісу Google, під назвою reCaptcha, яка реалізує досить хороший бар’єр від спам повідомлень на Вашому сайті. До того ж нещодавно вийшла нова версія даної каптчі, тому давайте подивимося, як з нею працювати.

Нова reCaptcha від GoogleНова reCaptcha від Google

Установка каптчі reCaptcha

Отже, давайте перейдемо на офіційний сайт каптчі reCaptcha, http://google.com/recaptcha. При, цьому хотів би зауважити, що Вам потрібен обліковий запис сервісу Google, тому зареєструйтесь, якщо у Вас немає облікового запису і виконайте авторизацію.

Нова reCaptcha від Google

Далі, переходимо за посиланням Get reCaptcha і реєструємо каптчі для сайту, на якому вона буде використовуватися.

Нова reCaptcha від Google

При цьому заповнюємо такі поля:

Назва – в даному полі прописуємо назву сайту.

Домени – вказуємо домен, на якому буде використовуватися каптча. Так само дозволяється вказати кілька доменів, при цьому кожен домен необхідно вводити з нового рядка.

Власники – в даному полі перераховуємо поштові скриньки власників каптчі (по одному в рядку).

Потім для завершення реєстрації клікаємо по кнопці Реєстрація. Після цього сервіс Google згенерує два ключі, які необхідні для роботи каптчі:

Публічний ключ – який необхідний для відображення блоку каптчі.

Секретний ключ, який необхідний для перевірки правильності відправки каптчі. При цьому секретний ключ зберігається тільки на сервері і не повинен бути доступний для загального огляду.

Нова reCaptcha від Google

Для відображення каптчі, необхідно підключити бібліотеку reCapthca на сторінці де вона повинна бути відображена:

Потім у місці, де повинна відображатися каптча, додаємо наступний блок:

print_r($_POST);

При цьому на екрані ми побачимо наступне.

Нова reCaptcha від Google

Тобто в суперглобальном масиві POST у клітинці g-recaptcha-response, міститься код, який повертає сервіс Google після активації чекбокса каптчі, якщо ж чекбокс не активований то дана клітинка порожня. При цьому код являє собою певну послідовність символів, яку нам ні як не прочитати. Тому далі необхідно відправити POST запит за адресою: https://www.google.com/recaptcha/api/siteverify

І відправити наступні параметри:

secret — секретний ключ, який був згенерований при реєстрації користувача;

response — код, який був отриманий при активації чекбокса каптчі;

remoteip – IP адреса, з якого надсилається форма.

Для відправки запиту, за запитом використовуємо curl – з’єднання:

success) {
echo ‘YES’;
}
else {
exit(‘Error’);
}
}

Виконавши запит, сервіс Google поверне результат у вигляді рядка формату JSON, в якій міститься об’єкт, в структурі якого міститься властивість success. Якщо значення TRUE, значить каптча — активована вірно і повідомлення відправив користувач, а не спам-робот. В іншому ж випадку повідомлення відправив спам-робот.

На цьому даний урок завершено. Всього Вам доброго і вдалого кодування.