Альтернатива CAPTCHA для Drupal

в рубрике 

No spamИтак, вы пришли к необходимости использования отличных от CAPCTHA форм защиты сайта от спама для сайта на базе Drupal ( почему классическая CAPTCHA не лучший выход — читайте в материале Кэширование Drupal несовместимо с модулем CAPTCHA ).

Путём комбинирования функционала двух сторонних модулей можно добиться весьма высокой эффективности  подобной защиты, ну а кроме того — она работает незаметно для пользователя и не требуют от него никаких действий ( в отличие от классической капчи, где нужно постоянно что-то вводить ), а значит повышает usability.

Spamicide

Первый из этих двух модулей — Spamicide, который реализует приём с сокрытием специального текстового поля при помощи CSS.

Как он работает? Как и всё гениальное — просто.  Средствами модуля в нужную форму ( например, в форму комментирования ) добавляется новое текстовое поле, скрытое при помощи применённого к нему аттрибута CSS display:none;. Чтобы форма была отправлена, поле должно оставаться пустым. Например, пояснение к такому поле может гласить "Вы бот? Если нет, оставьте данное поле пустым". Пользователь, пользующийся браузером, это поле не увидит, а значит даже не узнает, что форма была защищена.
Spam-боты же, напротив, CSS-файлы обычно не получают и видят "голый HTML" ( или по крайней мере я так думаю smile2 ), поэтому для них это поле выглядит составной частью формы комментирования. В большинстве форумов и сайтов для отправки формы многие поля являются обязательными для заполнения, поэтому среднестатистический спам-робот заполняет все поля формы хоть чем-нибудь ( обычно — бессмысленным набором символом  или же бессвязными словами ). Соответственно, форма с заполненным антиспам-полем уже не может пройти проверку, и её содержимое не принимается системой. 

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

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

К материалу прикреплена исправленная версия 1.8, в которой вместо display:none; начало использоваться правило visibility:hidden; , которое создаёт пустое место в месте вставки текстового поля Spamicide. Собственно, в поправленной версии этот недостаток устранён. Можно рассчитывать, что в последующих версиях Spamicide станет ещё лучше и можно будет пользоваться оригинальным модулем без всяких изменений.

Block Anonymous Links

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

На странице проекта Blockanonymouslinks доступна лишь версия 1.0, которая не имеет в себе функции определения администратором количества ссылок, при котором срабатывает блокировка. То есть в оригинальной версии блокируются все анонимные сообщения с хотя бы одной ссылкой. Очевидно, что это не совсем удобно, поэтому один из пользователей сайта Drupal.org создал патч для модуля, который через администраторское меню позволяет указать количество ссылок, превышение которого вызовет срабатывание модуля. 

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

Average: 10 (5 votes)
Об авторе: Сергей “Treidge” Данченко

АватарСергей "Treidge" Данченко — автор блога 3DG.Me, вольный 3D-художник и разработчик игр, веб-разработчик на Drupal и человек-оркестр с опытом в некоторых других областях. Личное кредо — "хочешь сделать что-нибудь хорошо, сделай это сам". В моменты особого вдохновения пишет стихи и играет в волейбол. Основные профессиональные инструменты — Autodesk Maya, Autodesk Mudbox и Adobe Photoshop. Без ума от индюков и попугаев. Спасибо за внимание, заходите снова!

Комментарии

Спасибо за подсказку с модулем Spamicide - помог побороть спам в гостевой книге

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

Скажите, пожалуйста, а как настроить формат текста, чтобы можно было оставлять комментарий как в данной форме( формат Форам). Т.е. чтобы можно было делать текст цветным, ведь CKEditor по умолчанию у тегов режет атрибуты( style и т.д.)? http://docs.cksource.com/CKEditor_for_Drupal/Enterprise/Drupal_7/Inline_Styles пробовал вот с помощью этих модулей сделать, но не получилось. Я просто сайт делаю и там у материалов нужно комментарии оставлять, в том числе с цветным текстом и изображения вставлять( я настроил чтобы пропускались теги <span> и <img>, но атрибуты упорно режутся). Подскажите, пожалуйста!

Могу ошибаться, но вроде бы сам CKEditor ничего не режет, а атрибуты "подчищает" фильтр, используемый в вашем текстовом формате.

Скорее всего, вам нужен модуль htmLawed — по крайней мере, здесь эта система устроена с использованием именно этого модуля. Если вкратце, то htmLawed — это фильтр, позволяющий тонко настраивать разрешённые/запрещённые теги и атрибуты. Перед установкой рекомендую ознакомиться с документацией, так как этот модуль требует определённой настройки.

Далее всё довольно просто — устанавливаете модуль, определяете список разрешённых тегов и разрешённых/запрещённых атрибутов, создаётся новый текстовый формат для использования с CKEditor'ом, подключаете к этому формату необходимые фильтры и фильтр htmLawed. После этого CKEditor должен пропускать всё, что должно пропускаться, и убирать всё, что не должно balloon.

А можете прислать скрин с настройками на почту? И такой вопрос: там нужно обязательно создавать новый формат?

Нет, новый формат создавать необязательно, можно только подключить фильтр htmLawed к нужному текстовому формату. Главное, чтобы у этого формата был отключен фильтр "Limit allowed HTML tags", т.к. htmLawed по сути заменяет собой этот фильтр. Свои настройки выслал на почту, хотя они от настроек по умолчанию, кажется, отличаются только убранным запретом на атрибуты style.

Спасибо! Вы мне очень помогли!

Пост интересный. А вложений не вижу.

Рекомендую вместо Spamicide использовать модуль Honeypot - у него чуть богаче функционал и выше эффективность.

Пишем и размещаем реалистичные отзывы, о Вашем сайте, Вашем бизнесе,
вашей компании!!!!!

на Otzovik, Irecommend, Yell, Flamp
и 99+ площадках

Добрый день!
Как вы думаете, положительные отзывы о вас
в сети увеличивают ваши продажи?
Мы уверены, что ваши клиенты интересуются тем, что пишут о вас в сети.
У нас есть отличное решение для вас - написание и размещение положительных
комментариев о вас в интернете.
По ссылке вы можете сделать заказ отзывов с хорошей скидкой
Заманчиво?

http://clck.ru/C4mKx

Пишем и размещаем реалистичные отзывы, о Вашем сайте, Вашем бизнесе,
вашей компании!!!!!

на Otzovik, Irecommend, Yell, Flamp
и 99+ площадках

Здравствуйте!
Как вы считаете, положительные комментарии о вашей компании
в сети увеличивают ваши продажи?
Мы уверены, что ваши клиенты интересуются тем, что пишут о вас в интернете.
У нас есть отличное решение для вас - написание и размещение положительных
комментариев о вас в интернете.
По ссылке вы можете сделать заказ отзывов с хорошей скидкой
Что скажете?

http://clck.ru/C4mKx

Copyright © 2010-2013 Сергей "Treidge" Данченко. Свяжитесь со мной, если у вас есть вопросы или предложения. Тема основана на BlogBuzz от Antsin.com