Entries RSS
image

Голосование

  • Ваше отношение к ненормативной лексике в текстах и статьях


Смотреть результаты
Loading ... Loading ...

О чём пишут другие блоггеры

Сен 13

Невидимая капча: Как молча игнорировать атаку спамеров в комментариях

Невидимая капча: Как молча игнорировать атаку спамеров в комментариях

Вначале давайте разберемся и определим цель, от чего мы хотим защититься. А именно, мы должны блокировать все комментарии, оставленные, так сказать, не человеком. Естественно, мы понимаем, что работая в обозревателе нельзя вручную прокомментировать тысячи публикаций. Наша цель – роботы, как раз которые и занимаются вставкой ссылок в комментарии на нужные сайты. Роботы прежде всего работают по принципу парсера, который видит исходный код веб-страницы, умеет определять тип площадки, поля, ссылки и, возможно, многое другое. Единственное что не может наш абстрактный робот – это выполнять javascript. В этом и заключается ключевой момент нашей защиты.

Мой плагин (невидимая капча для WordPress) ориентирован как раз на работу через обозреватель. Принцип невидимой капчи заключается в том, что при загрузке страницы выполняется код на javascript, в котором кнопочке “Отправить комментарий” добавляются некие события. Это происходит только в том случае, если страницу открыть именно в обозревателе. Что за события? Всё на самом деле очень просто. Это ‘mousedown’ и ‘keypress’, которые возникают в момент нажатия кнопки мыши или клавиатуры, соответственно. В самой функции обработчика события меняется некая переменная, которая и является ключевой в отсеивании комментариев.

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

Посетителям сайта  больше не нужно вводить цифры и буквы с ужасных картинок. Javascript=Браузер=Человек.

Сам плагин можно скачать здесь: http://wordpress.org/extend/plugins/invisible-captcha/

Синдикация

Понравилась статья? Подпишитесь на RSS .

56 комментариев к записи
«Невидимая капча: Как молча игнорировать атаку спамеров в комментариях»

  1. Извини за абсолютно ламерский вопрос )
    А робота можно настроить, чтобы он это событие mousedown прописывал? Ну, то есть, чтобы обходил твою капчу

    [Ответить на комментарий]

  2. MyxuH , конечно можно! Но тогда надо знать, что на этом сайте установлена капча именно такого плана.

    [Ответить на комментарий]

  3. Я сейчас слушаю – Theodor Bastard – Мир

    aDolphin , а можешь для лирухи сделать антиспамбот?


    Конкурс золотых блогов. выдвигайте интересных друзей и ПЧ

    [Ответить на комментарий]

  4. Я сейчас слушаю – Shiva in Exile – 04 Sah’De

    Исходное сообщение aDolphin :
    Ikarus , я чуть не подавился ))) Это как?

    aDolphin , ну много комментов я у себя встречаю с говноссылками. И эти спамеры меня бесят)


    Конкурс золотых блогов. выдвигайте интересных друзей и ПЧ

    [Ответить на комментарий]

  5. Ikarus , это наверное к асидворму тебе нада обратица, или к Валентину.

    [Ответить на комментарий]


  6. Исходное сообщение aDolphin :
    Ikarus , это наверное к асидворму тебе нада обратица, или к Валентину.

    aDolphin , эх. а почему так низя сделать?


    Конкурс золотых блогов. выдвигайте интересных друзей и ПЧ

    [Ответить на комментарий]

  7. За сутки плагин был скачан 73 раза. Интересно, это много или мало?
    [ссылка]…-captcha/stats/

    [Ответить на комментарий]

  8. Нууу, идея-то простая и понятная, только вот у меня не работает плагин – когда я залогиниваюсь на сайт – комментарий нормально проходит, но когда комментарий самбичу как анонимный незалогиненый юзер, в 100% выдается сообщение, что я робот, проваливай. Коммент, тем не менее, все равно принимается и попадат в админку на валидацию.

    У меня уже есть аксимет включенный + ваш плагин. Как-то вообще никакого эффекта.

    [Ответить на комментарий]

    Андрей отвечает:

    @Михаил, это происходит когда станицы сайта кешируются. Возможно, у вас установлен гипер-кэш. Если так, тогда нужно всего лишь почистить кеш всех страниц. Почему?
    Когда кешировались страницы сайта, на тот момент еще не стояла невидимая капча. А принцип работы моего плагина аналогичен “Я не робот”, только клик по нужной тычке выполняется обозревателем на js.

    Кстати, вы добавили комментарий, успешно пройдя проверку, а вот на сайте [ссылка] в исходном коде страницы я не вижу невидимой капчи. Может потому, что она на самом деле невидимая? :)

    Капча может работать в паре с любыми другими капчами.

    [Ответить на комментарий]

    Михаил отвечает:

    @Андрей, потому что я отключил капчу до момента решения траблы ;-)
    Значит – почистить кеш страниц (в браузере, я правильно понимаю?) , попробую другой браузер просто ;-) Посмотрим что выйдет.

    [Ответить на комментарий]

    Михаил отвечает:

    @Андрей, или же принудительное кеширование некоторых типов файлов браузером на основе директив от вебсервера (FileETag)?

    UPD:
    Отключил и FileETag в htaccess – все равно не помогает, в трех разных браузерах с очищенным кешем меня идентифицируют как робота, но коммент все равно уходит на модерацию. А должен вообще не приниматься, почему так?

    [Ответить на комментарий]

    Михаил отвечает:

    @Михаил, уходит не на модерацию, а в спам. Давайте поступим так – я оставлю плагин, а вы попробуете добавить хоть один норм. комментарий, можно к первой новости – может вам удастся.

    [Ответить на комментарий]

    Андрей отвечает:

    @Михаил, я имел в виду кеширование страниц самим вордпрессом. То есть наличие установленных плагинов, таких как wp-super-cache или hiper-cache.

    >> Давайте поступим так – я оставлю плагин,
    >> а вы попробуете добавить хоть один норм.
    >> комментарий, можно к первой новости –
    >> может вам удастся.
    Договорились. Махните мне рукой как плагин будет установолен.

    [Ответить на комментарий]

    Андрей отвечает:

    @Михаил, ага, я посмотрел текст вашей страницы. У вас нет поля ввода URL сайта комментатора. А плагин ориентируется именно на это поле.

    Пути решения:
    1. Добавить поле ввода url и сделать его скрытым
    или
    2. Заменить в файле плагина
    /wp-content/plugins/invisible_captcha/invisible_captcha.php
    строчку кода с этой
    var cmt_fld_url = document.getElementById(‘url’);
    на эту
    var cmt_fld_url = document.getElementById(‘email’);

    После этого всё заработает.
    Сегодня же исправлю файл плагина и опубликую обновление.

    [Ответить на комментарий]

    Михаил отвечает:

    @Андрей, поступил по второму способу – внёс изменения в исходники плагина – все заработало. И Ваш комментарий и мои тестовые прошли и отправились на премодерацию. Посмотрим, как будут дела со спамом – днёк-другой. Спасибо Вам огромное за помощь!

    P.S. По поводу адреса почты – есть хорший плагин WP Email Guard ([ссылка]) – правда, у меня пока не удалось заставить работать в этой теме для вп, но, думаю, это лишь вопрос времени.

    [Ответить на комментарий]

    Михаил отвечает:

    @Андрей, за два часа 10 спама прорвалось… хотя плагин был включен. Странные вещи творятся. Ваш второй коммент, по поводу одного из ОпСоСов, был автоматически, даже без премодерации, добавлен в нормальные комментарии.

    Чувствую, что что-то тут не так.

    [Ответить на комментарий]

    Аня отвечает:

    @Михаил, 10 спама это как? Эти комментарии появились на странице, или же в административной панеле в разделе комментарии со статусом “Спам”?

    [Ответить на комментарий]

    Андрей отвечает:

    @Аня, что-то мне подсказывает, что спам-комментарии появились в админке в разделе “спам”, потому что моя капча их туда помещает.

    За два дня отсеились 187 спам-комментариев

    [Ответить на комментарий]

    Михаил отвечает:

    @Андрей, именно там они и появились. Так и должно быть? Или же плаг должен вообще отказывать в каком бы то ни было принятии сообщения вордпрессом?

    [Ответить на комментарий]

    Андрей отвечает:

    @Михаил, всё дело в том, что комментирование в wordpress устроено таким образом, чтобы его легко было контролировать. Если комментарий оставлен недобросовествным комментатором, то его можно отклонить или удалить. Если комментарий оставлен роботом, непрошедшим проверку капчи, то этот комментарий как раз и попадает в раздел “Спам-комментариев”, причём на сайте он не будет опубликован. Спам-комментарий как-бы хранится внутри. Его можно удалить, а можно и не удалять.

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

    @Михаил, изучайте wordpress. Я надеюсь, эта ветка обсуждения закрыта, а то место на экране заканчивается :-)

    [Ответить на комментарий]

  9. aDolphin , есть мнение, что у пользователей с выключенным JS – будут все комментарии отмечаться как спам…что есть плохо :) Я прав?

    [Ответить на комментарий]

  10. но неужели такое явление еще где-то встречается?

    [Ответить на комментарий]

  11. Идей, конечно, офигенная… Вот только не факт, что JS везде включен, как заметили выше))

    [Ответить на комментарий]

    Андрей отвечает:

    @Dandr, простите, но как правило js не работает только в КПК и на мобильных телефонах. А наша цель – отсеить всех, кроме людей, открывающих страницы в обозревателе.

    [Ответить на комментарий]

  12. Опа… А что у тебя за переводчик появился?

    [Ответить на комментарий]

    Андрей отвечает:

    @Dandr, такой вот переводчик, работающий как раз на js :-) Перевод осуществляет гугл

    [Ответить на комментарий]

  13. jkhnkhjh:

    khbkjhkjh

    [Ответить на комментарий]

    Андрей отвечает:

    @jkhnkhjh, эй, для того чтобы проверить работу плагина красивее было бы написать каой-либо осмысленный текст =)

    [Ответить на комментарий]

  14. ; – а что, точка с запятой на странице никому не напрягает глаз? ;)

    [Ответить на комментарий]

    Андрей отвечает:

    @Эрнест, плагин был обновлён на прошлой неделе.Следите за обновлениями )

    [Ответить на комментарий]

    Эрнест отвечает:

    @Андрей, я не о том, что запятая есть – нарисовать и я лишнюю после кодирования на PHP и C++ могу, а о том, что никто не возмущался ;)

    А по поводу ошибочных выводов относительно отправителя при отправке нажатием на Ентер надо будет подумать, ибо изначальная идея мне нравится….

    [Ответить на комментарий]

  15. Тааак, меня боятся и не пропускают html-код… Пойдем другим путем – знаки больше-меньше уберем:
    input type=’hidden’ name=’invisible_captcha_s’ id=’invisible_captcha_s’ value=’2′; – вот эта запятая

    [Ответить на комментарий]

  16. Так, а если я всё делаю с клавы без мыши?
    Тест не проканал. :(

    [Ответить на комментарий]

    Андрей отвечает:

    @Dandr, ты читал принцип работы капчи? Я только что написал пост, почитай

    [Ответить на комментарий]

  17. А можно ли встроить код этой каптчи прямо в тему?

    [Ответить на комментарий]

    Андрей отвечает:

    @tiaurus, да, но зачем? Рано или поздно, ты захочешь сменить тему.

    [Ответить на комментарий]

    tiaurus отвечает:

    @Андрей, ну загрузка плагина более ресурсоемка, нежели чем загрузка кода вместе с темой. Мне так кажется.

    [Ответить на комментарий]

    Андрей отвечает:

    @tiaurus, нет, ты ошибаешься.

    [Ответить на комментарий]

  18. Alex:

    Андрей, день добрый.
    Доканали спамеры, решил поставить вашу капчу-невидимку.
    В первый день все было ОК. Только И-Эксплорер немного поругивался.
    Во второй день начались удивительные вещи:
    1. При попытке загрузить любую статью с сайта выскакивает менюшка с просьбой нажать ОК для входа на сайт. Нажимаешь Отмена, все хорошо, нажимаешь ОК – приходится жать его еще раз 20, пока не загрузится все содержимое.
    2. И так на всех типах обозревателей.
    Сбрасывал настройки плагина к исходным, отключал его, но все осталось прежним.
    Что делать?

    [Ответить на комментарий]

  19. @Alex, сразу скажу, что мой плагин здесь однозначно не причём. На сколько я понял, поискав ответы в гугле, это связано с вашей темой оформления. Возможно, она заражена, нужно смотреть код. Однозначного решения проблемы я не нашел.

    Вот почитайте:

    [ссылка]

    [ссылка]

    [ссылка]

    [ссылка]

    Также, вы можете поэксперементировать:
    1. Отключить абсолютно все плагины и включать по одному,
    2. Сменить тему оформления на другую.

    Так вы хотя бы будете знать где запряталось это модальное сообщение.

    [Ответить на комментарий]

  20. Спасибо за плагин, использую вместе с Akismet — забыл про спам вообще :)

    [Ответить на комментарий]

  21. Alex:

    Огромная благодарность и за капчу, работает на все 100%, и за помощь в восстановлении работоспособности сайта!
    Успехов во всем!

    [Ответить на комментарий]

  22. Андрей, привет!
    Если вы автор невидимой капчи – ВАМ РЕСПЕКТ!
    Знаете как я попал на ваш блог?
    На мой блог очень много липнет спам – комментариев.
    Из консоли набрал добавить плагин CAPTCHA,
    открылся список найденных плагинов – капч…
    В списке есть ваш плагин с пятью звёздочками
    и есть ссылка на ваш блог с хорошим разъяснением
    принципа работы невидимой капчи. Спасибо.
    Конечно, установлю ваш плагин – нужно поддержать
    отечественного производителя!
    Поставлю плагин и напишу на блоге пост,..
    и может быть вы напишете авторский анонс?

    [Ответить на комментарий]

  23. Андрей,
    вот ссылка на статью о невидимой капче:
    [ссылка]
    Ваша капча работает превосходно!

    [Ответить на комментарий]

    Андрей отвечает:

    @Сергей, целая страница посвящена плагину! Да еще есть и видеоролик! Вот это да! ;-)

    [Ответить на комментарий]

    @Сергей Куприянов, Андрей,
    я бы хотел к статье добавить ваше слово автора плагина.

    [Ответить на комментарий]

Оставьте свой комментарий



Получать новые комментарии по электронной почте. Можно подписаться без комментирования.

Прикрепить картинку (*.jpg)