Home / Posts / Web, PHP, HTML / Антиспам для комментариев, или как обойтись без капчи /


Антиспам для комментариев, или как обойтись без капчи



 Итак, речь пойдет о том, как сделать комментирование у себя на сайте максимально удобным и приятным для читателей. 

 Я считаю, что для того чтобы прокомментировать статью, читателю необходимо и достаточно всего лишь ввести свое имя и, собственно, комментарий. Для оповещения можно ввести почту, и адрес своего сайта для ссылки. А когда форма запрашивает, например, еще и какую-то тему, мою фамилию, телефон, город, каким лаком красила ногти моя бабушка, то это просто-напросто отталкивает.

 В качестве антиспама обычно применяется дедовский метод - капча, причем зачастую такая, что расшифровывать ее просто отпадает всякое желание. 

 

 антиспам для комментариев    антиспам для комментариев

 

 Применение таких вот проверочных средств - это, на мой взгляд, просто-напросто открытое неуважение как к самому читателю, так и к его личному времени. Иногда предлагают примерчик решить 2+2. Ну что, решил! Ма-ла-дец! А теперь, дружок, подожди премодерацию. А то ведь - кто знает, что ты там написал? Ну это вообще финиш. Просто насмешка какая-то, плевок. 

 Понятно, конечно, что все это делается против спама, но читатель все-таки, на мой взгляд, не должен помогать мне решать мои технические проблемы.

 Есть несколько методов борьбы со спамом, мне приглянулись два - первый с задержкой по времени, т.е. комментарий не публикуется, если время между заполнением формы и нажатием на кнопку слишком мало, а второй - проверяет поддержку javascript у клиента, и если ее нет (а у спам ботов ее нет, в отличие от большинства людей), то коммент отсеивается.

 Я все-таки использовал второй, поскольку там было меньше возни с кодом. Результат есть, поскольку до этого слали много спама на некоторые страницы, а теперь нет. Вот, на странице статистики видно, как спам-бот нудно и безуспешно долбится в форму.

 

 

 Все что нужно - немного изменить код кнопки формы.

 

<input type="submit" onclick="document.getElementById('check').value = 'stopSpam'" value="Add Comment" />

 

А в том php файле, куда форма отправляет данные - в начале добавить строчку

 

if ($_POST['check'] != 'stopSpam') exit('<center><strong>Ошибка</strong>: Защита от спама. Включите JavaScript.</center>');

 

 


,






Еще статьи по теме


Mysql. Нюанс работы с BLOB полями
Tinymce. Вставка примеров кода на страницу html
Tinymce. Вставка видео на сайт
Особенности моей CMS, или как я начинал писать сайт




Свежие статьи


Часы на газоразрядных индикаторах ИН-8
Инфракрасный барьер своими руками
Светодиодное освещение - продолжение эволюции
Часы на газоразрядных индикаторах ИН-12 (Nixie Clock)
Светодиодное освещение своими руками



Главная



Комментарии (5)


Здравствуйте Евгений! Что-то не совсем понятно где этот код формы кнопки и где этот файл php :( я хоть и не новичок, но несмотря на это не понял, а что будет с новичками? Или речь идёт не о Вордпресс?


Игорь Черноморец, 2014-11-17 12:01:45

Да, здесь я не о Вордпресс пишу... ) В том случае, если человек сам поставит на сайт обычную форму он по-любому будет знать где ее код и исполняющий файл.


Евгений, 2014-11-19 22:21:13

Плохо, конечно, не в том, что капча есть, а в том, что она предлагается в обязательном порядке и сразу при попытке входа. Гораздо лучше, если капча будет требоваться после первого или второго неправильно введенного пароля.


Tredertinrof, 2015-07-15 12:18:17

Поэтому, уважаемые блоггеры, откажитесь от капчи в своих блогах раз и навсегда!


FontsDownloadFree, 2015-08-21 16:38:04

Здравствуйте, скажите а что мешает запрос отправить через правильный texarea? нужно просто пропарсить код выдернуть скрытый textarea и получит его имя или textarea найти по форме, ведь у вас на сайте одна форма где есть крытый textarea или я чего то не понял?


juliadiets.com, 2016-03-13 19:28:30










Мужской Проект

Подписка


Поиск