Главная » DLE » Статьи DLE » Как избавиться от спам-ссылок в комментариях. Защита DLE 8.5-9.0 от вредоносного по, рассылающего спам.
Распечатать статью

Как избавиться от спам-ссылок в комментариях. Защита DLE 8.5-9.0 от вредоносного по, рассылающего спам.

Здравствуйте, уважаемые посетители DLE блога terobait48.ru
Я довольно долгое время работаю с CMS DataLife Engine и много раз сталкивался с проблемой спама в комментариях. И пусть бы это был просто спам, я ничего против не имел бы против бессмысленных комментариев типа:
«Не зря гугл посоветовал ваш сайт»
«Классный пост. Очень интересно. Спасибо за статью.» etc.
Но в основном оставляют комментарии со ссылками на свои (и не только свои) ГС. Как правило данные комментарии отправляются не человеком, а вредоносным программным обсечением, написанным злобными программистами.
И что самое плохое, каждое слово такого комментария является анкором ссылки. Меня это стало сильно раздражать и поэтому я стал искать решение проблемы, как избавится от спам-ссылок в комментариях DLE. И нашёл очень простое решение этой проблемы. Для этого есть простой хак, который запрещает добавлять комментарии со ссылками.
Если вы любитель различных коктейлей, то не забудьте узнать как приготовить [noleech]кислородный коктейль дома[/noleech] и какие ингредиенты для этого нужны.

Хак называется антилинк для DLE 8.5 — 9.0

Установка:
Открываем файл engine\modules\addcomments.php и находим там

if( dle_strlen( $name, $config[‘charset’] ) > 50 ) {
$stop[] = $lang[‘news_err_1′];
$CN_HALT = TRUE;
}

Ниже добавляем этот код:

/*******************************************************************
Хак антилинк, защита от спама в комментариях DLE by terobait48
*******************************************************************/
if (preg_match («/href|url|http|www|\.ru|\.com|\.net|\.info|\.org/i», $_POST[‘comments’]) || preg_match («/href|url|http|www|\.ru|\.com|\.net|\.info|\.org/i», $_POST[‘name’]))
{
$stop[] = «URL адреса сайтов в комментариях публиковать ЗАПРЕЩЕНО! Антиспам. «;
$CN_HALT = TRUE;
}
/*******************************************************************
[End] Хак антилинк, защита от спама в комментариях DLE by terobait48
*******************************************************************/

А ещё лучше будет, если сам комментарий останется, а ссылка из него будет удалена. Для этого используйте следующий код:

$_POST[‘comments’] = preg_replace(«|\[url.*?\]|si»,»»,$_POST[‘comments’]);
$_POST[‘comments’] = preg_replace(«|[/url\]|si»,»»,$_POST[‘comments’]);
$_POST[‘comments’] = preg_replace(«|<a.*>|si»,»»,$_POST[‘comments’]);
$_POST[‘comments’] = preg_replace(«|</a>|si»,»»,$_POST[‘comments’]);;

ставить его после:

if( dle_strlen( $name, $config[‘charset’] ) > 50 ) {
$stop[] = $lang[‘news_err_1′];
$CN_HALT = TRUE;
}

Вот и всё!
Теперь вы знаете, как защитить ваш DLE сайт от ссылок в спам комментариях.
Установить этот хак просто необходимо, когда вы будете создавать свой варезник на DLE.

Источник: terobait48.ru

Вы можете оставить комментарий, или обратную ссылку на Ваш сайт.

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

Похожие статьи