Захист від спаму без використання капчі

Будь-який спам, що відправляється через різні форми введення, дратує всіх власників сайтів. Найчастіше небажана і нервуюча інформація, зазвичай містить зовнішні посилання, відправляється різними спам-ботами. Кожен вебмайстер намагається захищати свої веб-ресурси від спаму різними способами, але в більшості випадків використовується капча. Однак капча, особливо «наворочена», як правило, нервує відвідувачів таких сайтів, що може позначитися на відвідуваності. У цій статті пропоную вам познайомимося з деякими нескладними, але в той же час ефективними способами захисту від спаму без використання капчі.

спаму

Використання CSS для приховування полів форми

Можна додати додаткові поля, але приховати їх за допомогою CSS, щоб ці поля не були видно звичайному, реальному відвідувачу сайту, тобто. щоб не потрібно було їх заповнювати. При надсиланні даних через форму, PHP-скрипт, що обробляє запит на стороні сервера, повинен перевіряти дані, передані у запиті.

Поля HTML форми:

PHP скрипт, який приймає дані, відправлені з форми:

Цей метод цілком придатний, але тільки тоді, якщо спам-бот не бере до уваги і не обробляє CSS, але таких ботів все ж таки переважна більшість.

Використання Javascript для додавання CSS-класу до полів форми

За допомогою Javascript можна трохи покращити вище описаний метод - до прихованих полів введення можна додавати відповідний CSS-клас використовуючи Javascript:

Зміна імен полів форми за допомогою PHP

При використанні такого методу спам-боту доведеться щоразу перевіряти у вихідному коді сторінки імена полів форми. Однак тут є невеликий «підводний камінь» — якщо відвідувач сайту відкрив сторінку за кілька секунддо опівночі, то при надсиланні даних заповненої форми після опівночі наш скрипт не прийме дані. Щоб позбавитися цієї проблеми потрібно додати ще перевірку «вчорашнього» імені поля форми:

Перевірка IP та використання бази даних сайту

Створюємо в базі даних MySQL таблицю:

Взаємодіємо з таблицею бази даних із PHP-скрипту:

Висновок

У цій нотатці наведено для прикладу кілька відносно нескладних методів захисту від спаму, що надсилається через HTML-форми. Ці методи можна використовувати на сайтах, розроблених самостійно. Для різних популярних CMS є велика кількість плагінів і розширень, розроблених професіоналами. У них природно використовуються більш досконалі методи та функціонал для захисту як від спам-ботів, так і від «живих» відвідувачів сайтів, яким не можна «внести свій внесок» у вміст сайту.