ДОСТИГНУТО:

01.11.2016-300 страниц в индексе Google;
19.01.2017-300 страниц в индексе Яндекса;
03.02.2017-40 ТИЦ;
05.02.2017- сайт принят в DMOZ каталог;

Защита от спама без использования капчи

.

spamЗащита от спама без использования капчи

Всем привет! Сегодня у нас очередной подробный и очень полезный урок!

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

Использование CSS для скрытия полей формы

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

Поля HTML формы:

CSS:

PHP скрипт, принимающий данные, отправленные из формы:

Этот метод вполне пригоден, но только тогда, если спам-бот не принимает во внимание и не обрабатывает CSS, но таких ботов все же подавляющее большинство.

Использование Javascript для добавления CSS-класса к полям формы

С помощью Javascript можно немного улучшить выше описанный метод — к скрытым полям ввода можно добавлять соответствующий CSS-класс используя Javascript:

Этот метод сработает, если спам-бот не обрабатывает Javascript, но в то же время посетители, у которых в браузере отключена поддержка JS (это часто встречается на смартфонах), будут видеть поля, которые мы пытались скрыть от них.
Можно усовершенствовать и этот метод — зашифровать или закодировать сам Javascript-код. В интернете можно найти много онлайн сервисов для кодирования JS-скриптов.

Изменение имен полей формы с помощью PHP

Чтобы сбивать с толку спам ботов, можно периодически или регулярно менять имена полей HTML-форм. Самый простой способ — использовать функцию date(), например как date('Yz'), где «Y» — это год (2014), а «z» — порядковый номер дня в году (дни нумеруются начинается с 0). В результате date('Yz') вернет значение примерно такое «201446» (2014 год и 46-й день, т.е. 16 февраля).

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

Проверка IP и использование базы данных сайта

Многие спам боты не парсят исходный HTML-код страниц при каждом посещении, а просто пытаются использовать имена полей формы, которые они запомнили при первом сканировании вашего сайта. Это можно с успехом использовать. Нужно всего лишь не выводить в HTML-код форму после того, как спам-бот (или даже «живой» спамер) однажды уже неудачно попытался отправить спам. В таком случае у спамеров не будет шанса подбирать имена полей формы повторно в какое-то ближайшее время, по крайней мере с одного и того же IP адреса. Этот способзащиты от спама довольно эффективен и часто используется.

Создаем в базе данных MySQL таблицу:

Взаимодействуем с таблицей базы данных из PHP-скрипта:

Не забывайте только время от времени проверять размер таблицы spamer, в которую записываются IP адреса, иначе можно не заметить, как она разрастется до громадных размеров при большой посещаемости и популярности вашего сайта. Хотя, если вы неплохо разбираетесь в PHP и MySQL, то для контроля за таблицей (проверка объема и удаление очень старых записей) можно создать соответствующий скрипт и регулярно запускать его через CRON-задания.

Заключение

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

На этом на сегодня все дорогие друзья! Увидимся!

БЕРЕГИТЕ СЕБЯ!




лайк

Эти красотки хотят чтобы ты их жестко лайкнул и даже несколько раз твитнул!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *