Добавляем стоп-слова в комментариях DLE


Можно ли защититься от спамеров? Можно! Только нужна комплексная защита. В этой заметке расскажу как запретить комментарии на сайте DLE, в которых используют такие слова как «виагра», «порно» и другие часто употребляемые спамерами. Или например, использование ссылки в формате «http://».

Я пришел к выводу, что данный способ необходим наряду с запретом комментариев на латинице. После того как был установлен данный хак количество левых комментариев свелось к нулю. Уверен, что ситуация не измениться. А если появятся новые «сверх популярные» слова, то достаточно дополнить их в список запрещенных, и проблема решена!

Итак, для установки хака открываем файл engine/modules/addcomments.php. Ищем запись:

if ( dle_strlen ( $name, $config['charset'] ) > 20 ) {

$stop[] = $lang['news_err_1'];

$CN_HALT = TRUE;

}

if ( dle_strlen ( $name, $config['charset'] ) > 20 ) { может отличаться, например вот так if ( strlen ( $name ) > 50 ) {

Нашли и выше вставляем:

$aFilterComments = array ('секс', 'порно', 'porn', 'http', 'рассылк', 'объявлени', 'XRumer', 'weight', 'fat', 'Zenslim', 'advertising', 'buy', 'хрумер', 'виагра'); //здесь прописываем все слова, которые чаще всего употребляют при спаме

foreach ($aFilterComments as $sWord)

{

if (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;

}

Вот и всё! Данный способ как самосвал вынесет весь хлам из сайта. При этом пользователи сайта не заметят никаких изменений или неудобств.

Комментариев еще нет.

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