Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Хак "Антиспам в комментариях" DLE 8.5-9.3.
Скачать бесплатно Хак "Антиспам в комментариях" DLE 8.5-9.3.
Многие владельцы сайтов заметили, что снова активизировались рассыльщики спама в комментариях, использующие "хрумера" или другой софт. Пока наиболее эффективная защита от них - это фильтр по словам. Для создания такого фильтра и написан данный хак.
Версия DLE: 8.5 - 9.3 | Возможно пойдет и на более поздних.
Автор: vladimir
Автор незначительной модификации: Quest | iTelepat.ru
Хак автора работает достаточно хорошо, но в нем нет проверки на привязанность пользователя к определенной группе. Это мы сейчас и подправим:
Допустим "Гости" и "Пользователи" не могут оставлять ссылки в комментариях. А вот "Редакторам", "Журналистам" и "Администраторам" это подчастую необходимо.
Открыть engine/modules/addcomments.php Найти:
if( strlen( $name ) > 50 ) {
$stop[] = $lang['news_err_1'];
$CN_HALT = TRUE;
}
Выше вставить:
$aFilterComments = array('секс','','porn','http','url','www','href','.ru','.com','.net','.org','.info','рассылк','объявлени','XRumer','weight','fat','Zenslim','advertising','buy','хрумер'); //в этот массив можете внести чаще всего употреемые слова в спаме
foreach($aFilterComments as $sWord)
{
if ($member_id['user_group'] > 3 and stripos($_POST['comments'],$sWord)!==false)
$bStopSpam = true;
}
$aFilterNames = array('Download');
foreach($aFilterNames as $sName)
{
if ($name==$sName)
$bStopSpam = true;
}
if ($bStopSpam === true)
{
$stop[] = 'Вы спамировали, спамировали... Да не выспамировали =)';
$CN_HALT = true;
}
:( Единственный минус - хак обходится редактированием комментария, т.е. спамер постит комментарий без ссылки, а затем редактируя его, ссылку добавляет. Поэтому, чтобы вручную спамеры не добавили ссылки, мы запрещаем редактировать свои комментарии определённым группам, в настройках групп пользователей, в данном случае лучше разрешить удаление комментариев.