Антиспам. Как соединить Simple Anti-Spam с Honeypot?

Аватар пользователя andem

Здравствуйте!
Порылся на форуме, но к сожалению не нашел для себя нужного решения.
Обслуживаю коммерческий сайт. Есть формы для заявок и комментарии к статьям.

Модуль Honeypot хорошо подходит для защиты от роботов.

Но мне еще нужно, чтобы не было ссылок в тексте, как в заявках так и в комментариях.

Модуль Block anonymous links я так понял защищает от ссылок в комментах. Но остаются заявки... (в заявках есть поле с текстом) В этом модуле нет возможности указать защиту от ссылок в нужных формах.

Рассмотрел модуль Simple Anti-Spam .
Все хорошо, может заменить два предыдущих модуля и есть возможность указать нужные формы. Но есть один минус. Покрайней мере для меня он значительный. Я не хочу видеть поле "Я не спамер", причем если пользователь его не отметил выскакивает сообщение что его заявка СПАМ. А это нельзя делать.

Прошу, уважаемые, форумчане помочь с данной проблемой.

Как мне убрать поле "Я не спамер" модуля Simple Anti-Spam в форме? Возможно добавить вместо этой защиты модуль Honeypot, как добавочный.

Есть ли альтернативные скрытые возможности избавится от спам роботов и ссылок в заявках и комментариях?

Тип материала:
Версия Drupal:
0 Thanks

Комментарии

Аватар пользователя itcrowd72
itcrowd72 1 месяц назад

Почему у вас некие "заявки" могут создавать анонимы?

Чтобы не было ссылок в тексте проще всего сделать поля текста формата "plain text"

Аватар пользователя andem
andem 1 месяц назад

Имеется ввиду заявка на покупку услуги. Решаю вопрос на коммерческом сайте.
plain text - не особо подходит, т.к. люди-спамеры всеравно будут отправлять. А нужно чтобы вообще не отправляли или отправка не проходила. Но спасибо за предложенный способ.
Сейчас Модератор запаривается удалять заявки или комментарии со спамом. Нужно чтобы ему на администрирование приходили только нужные.

Аватар пользователя itcrowd72
itcrowd72 1 месяц назад

Комментарии тоже анонимные? Если да, ставьте капчу, reCaptcha от гугла, например.

Аватар пользователя andem
andem 1 месяц назад

Спасибо но капча не подходит. Хочется облегчить возможность пользователям оставлять заявки и комментарии.

Аватар пользователя itcrowd72
itcrowd72 1 месяц назад

Всегда есть обратная сторона монеты. Нельзя бороться со спамом не усложняя пользователям жизнь. Либо капча, либо модератор будет сидеть и разгребать спам

Аватар пользователя andem
andem 1 месяц назад

Решил данный вопрос с помощью создания модуля.
Итак, для решения моего вопроса я использовал модуль Honeypot для блокировки роботов. Плюс создал модуль на основе Block anonymous links. Этот модуль легкий и не составило труда разобраться в нем. В модуле готово решение для комментариев, добавил только взаимодействие с нужной формой с помощью хука и функции по аналогии.

<?php
function myblocklinks_form_webform_client_form_16_alter(&$form, &$form_state$form_id) {
  
$form['#validate'][] = 'blockanonymouslinks_body_validate';
}
function 
blockanonymouslinks_body_validate($form, &$form_state) {
  global 
$user;
  
//check if anonymous user
  
if (!$user->uid && isset($form_state['input']['submitted']['sut_problemy'])) {
    
$inputebody $form_state['input']['submitted']['sut_problemy'];
    
//the checks are derived from the filter module > _filter_url method
    
if (preg_match("@(http://|https://|ftp://|mailto:|smb://|afp://|file://|gopher://|news://|ssl://
|sslv2://|sslv3://|tls://|tcp://|udp://)+@se"
$inputebody) || preg_match("@(www\.[a-zA-Z0-9\
@:%_+*~#?&=.,/;-]*[a-zA-Z0-9\@:%_+~#\&=/;-])+@se"
$inputebody)) {
      
form_set_error("inputebody"t("Ссылки в тексте запрещены. Обратитесь к администратору сайта."));
    }
  }
}
?>
Аватар пользователя itcrowd72
itcrowd72 1 месяц назад

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

Аватар пользователя andem
andem 1 месяц назад

Хорошее замечание. Уберу с решения. И посмотрим на результат.

Это сообщение находится в тёмной материи. Вы можете изменить настройки просмотра тёмной материи в личном кабинете.