самый чоткий хостинг
04 янв 2011

Как избавиться от спам-ссылок в комментариях. Защита 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.

На десерт:
Самый известный говорящий пёс Мишка поёт мегахит всех троллей, песню "Трололо" lol
Главная -> Создание сайтов, Статьи по DLE -> Как избавиться от спам-ссылок в комментариях. Защита DLE 8.5-9.0 от вредоносного по, рассылающего спам.
ЩТ
  • 12 января 2011 14:15
  • ICQ: --
Что-то не понял про второй код
"А ещё лучше будет, если сам комментарий останется, а ссылка из него будет удалена. Для этого используйте следующий код:"
Куда его вставлять? Сразу после первого или куда?

если его поставить, как написано в статье, то вылазит ошибка
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /usr/home/bayanay/public_html/engine/modules/addcomments.php on line 103 Parse error: syntax error, unexpected '[' in /usr/home/bayanay/public_html/engine/modules/addcomments.php on line 103
terobait48
  • 12 января 2011 14:24
  • ICQ: 9380848
ЩТ,
юзайте пока первый вариант, позже посмотрю что там за ошибка
Stargot
  • 12 января 2011 19:06
  • ICQ: --
спасибо за решение, а то запарили эти спамеры уже. установил на два сайта, работает отлично!
щт
  • 13 января 2011 12:25
  • ICQ: --
Stargot, первым кодом воспользовался?
Как вторую часть кода прикрутить?
terobait48
  • 13 января 2011 12:42
  • ICQ: 9380848
щт,
в общем второй код на 9.0 не работает
делался под DLE 8.3-8.5
terobait48
  • 19 января 2011 17:54
  • ICQ: 9380848
всё решил проблему. оказывается там закрывающий пхп сценарий код ?> стоял в середине скрипта, потому и не работало.
Evgenij
  • 17 мая 2011 23:03
  • ICQ: --
Спасибо, всё работает=)
xoxa99
  • 19 июля 2011 22:31
  • ICQ: --
спс на 9.2 работает
Леха
  • 27 августа 2011 11:00
  • ICQ: --
А как наказать спамера?
Михалёв Евгений
  • 29 августа 2011 00:05
  • ICQ: --
Леха, у стенки расстрелять... ну или в угол поставить...wink

Всё о создании варезников, их продвижении в поисковиках и монетизации сайтов на DLE. Интересные статьи о заработке в сети. SEO эксперименты. Обсуждение различных партнёрских программ. Статьи по работе с DLE, интересные видео и музыка. И немного о личной жизни веб-мастера terobait48;)