
Ещё один вариант защиты сайта от спама добавления комментариев с ссылками (об одном способе мы уже публиковали в статье хак dle Антиспам). Последнее время многие владельцы сайтов заметили, что активно стали рассылать спам в комментарии, используя автоматические программы рассылки такие как "хрумер" или другой софт. Пока наиболее эффективная защита от них - это фильтр по словам. Для создания такого фильтра и написан данный хак dle.
Хак автора работает достаточно хорошо, но в нем нет проверки на привязанность пользователя к определенной группе. Это мы сейчас и подправим:
Допустим "Гости" и "Пользователи" не могут оставлять ссылки в комментариях. А вот "Редакторам", "Журналистам" и "Администраторам" это под частую необходимо.
Теперь добавлена проверка на спам при редактировании комментариев. "Гости" и "Пользователи" при редактировании с добавлением ссылки видят сообщение : What are you doing man? You fucking spamer, you know it?
И соответственно ссылка не проходит.
"Редакторы", "Журналисты" и "Администраторы" имеют право добавлять ссылки при редактировании.
Открыть engine/ajax/editcomments.php
Найти:
$comm_txt = trim( $parse->BB_Parse( $parse->process( convert_unicode( $_POST['comm_txt'], $config['charset'] ) ), $use_html ) );
Ниже вставить:
$aFilterComments = array('porn','http','url','www','href','.ru','.com','.net','.org','.info','XRumer','weight','fat','Zenslim','advertising','buy'); //в этот массив можете внести чаще всего употребляемые слова в спаме
Найти:
if( $comm_txt == "" ) { die( "error" ); }
Ниже вставить:
foreach($aFilterComments as $sWord) { if ($member_id['user_group'] > 3 and stripos($_POST['comm_txt'],$sWord)!==false) die( "What are you doing man? You fucking spamer, you know it?" ); }
Версия dle: 8.5 - 9.3 | Возможно пойдет и на более поздних.
Хак для DLE Антиспам в комментариях
«Автор:» vladimir
Автор незначительной модификации: iTelepat ru
:) И спасибо за подсказку Andrey™
Наш сайт предлагаем хаки для DLE Антиспам в комментариях