Убиваем спам в комментариях и профилях (CMS DLE)

Раньше для поднятия тИЦ использовали активно спам в комментариях CMS DLE. Потом тему закрыли и спамеры перешли на профили, там они оставляли свои ссылки

Вот вроде бы уже давно все это не работает, хотя некоторые говорят что маленький эффект от этого все же есть, не так в плане тИЦ, как в плане ускорения индексации своих сайтов/гавносайтов.

Мои сайты до сех пор страдали от этих идиотов. И я решил найти выход. И нашел =)

Даже не один способ. Ну что же начнем.

#1 Запрет на ссылки в комментариях

Заходим в админ центр и играемся с настройками.

Другие разделы -> Настройка групп пользователей -> Гости -> Комментарии -> Разрешить использование кликабельных ссылок -> Нет

Другие разделы -> Настройка групп пользователей -> Посетители -> Комментарии -> Разрешить использование кликабельных ссылок -> Нет

Также можно установить капчу на коменты для зареганых юзеров (по-умолчанию она выключена):

Другие разделы -> Настройка групп пользователей -> Посетители -> Комментарии -> Код безопасности
-> Да

Этого уже будет вполне достаточно.

#2 Запрет на домен в комментариях (ХАК)

Открыть engine/ajax/addcoments.php и найти:

------------------------------------------------------------------------
require_once ENGINE_DIR.'/modules/addcomments.php';
------------------------------------------------------------------------

Выше добавить:

------------------------------------------------------------------------
// запрет ссылок

if (!$user_group[$member_id['user_group']]['allow_url']){

$_POST['comments'] = preg_replace( "#[url=(.+?)[/url]#is", "", $_POST['comments']);
$_POST['comments'] = preg_replace( "#[leech=(.+?)[/leech]#is", "", $_POST['comments']);
$_POST['comments'] = preg_replace( "#<a href=(.+?)</a>#is", "", $_POST['comments']);

}

//- запрет ссылок в комментариях

------------------------------------------------------------------------

#3 Запрет на ссылки в профиле/о себе (хак)

Открываем:

1. engine/modules/profile.php

НАЙТИ ТАМ:

if( intval( $user_group[$member_id['user_group']]['max_info'] ) > 0 and strlen( $info ) > $user_group[$member_id['user_group']]['max_info'] ) {

$stop .= $lang['news_err_22'];
}


ДОБАВИТЬ ПОСЛЕ:



if (preg_match ("/href|url|http|www|\.ru|\.com|\.net|\.info|\.org/i", $_POST['info']))
{

$stop .= $lang['news_err_url'];
}

Открываем дальше:

2. engine/modules/register.php

НАЙТИ Там:

if( intval( $user_group[$member_id['user_group']]['max_info'] ) > 0 and strlen( $info ) > $user_group[$member_id['user_group']]['max_info'] ) $stop .= $lang['reg_err_14'];


ДОБАВИТЬ ПОСЛЕ:

if (preg_match ("/href|url|http|www|\.ru|\.com|\.net|\.info|\.org/i", $_POST['info'])) $stop .= $lang['news_err_url'];

Открываем:

3. language/Russian/adminpanel.lng

НАЙТИ:

'news_err_1' => "Вы ввели слишком длинное имя.",

ДОБАВИТЬ ВЫШЕ:

'news_err_url' => "URL адреса сайтов, в поле \"О себе\" публиковать ЗАПРЕЩЕНО!",

#4 Удаляем имеющий спам в профилях

Думаю это одна из самых полезных фич в этой заметке. У Вас на сайте уже наверно есть профили со спамными ссылками. И что с ними делать?

Не перебирать же вручную весь список и удалять по одному аккаунты.

Есть способ в тысячу раз легче. Вот он:

  1. зайти в PHP MyAdmin
  2. выбрать из списка базу с нужным сайтом на DLE
  3. далее зайти в раздел меню SQL
  4. выполнить SQL запрос к базе данных

Удаление профилей с ссылками в поле "О себе":

  • в поле "Выполнить SQL-запрос(ы) к базе данных ВАША_БД" вводим DELETE FROM dle_users WHERE info LIKE '%url%' OR info LIKE '%a href%' и ждём ок, тем самым подтверждая удаление юзеров с ссылками в профилях

Просмотр списка профилей с ссылками в поле "О себе" с возможностью ручного удаления:

  • чтобы быть уверенными в том, что удалятся только спам профили выполняем запрос по такому же принципу SELECT * FROM dle_users WHERE info LIKE '%url%' OR info LIKE '%a href%' , после выполнения этого запроса Вы сможете проверить количество спаммеров в базе данных Вашего сайта и удалить нужных в ручную, но его соответственно следует делать перед запросом на удаление :) (Лично я не заморачиваюсь и пользуюсь только первым способом)

Теперь Вы знаете, как потратив пару минут можно очистить свой сайт от надоедливых спам профилей в вашем сайте на CMS DLE.

За 4-й пункт  спасибо wolf-bespredel.ru

Вот такой вот полезный постик!

Удачи!



  • http://depositbank.com.ua Drakers

    хех спасибо, я в своё время настрадался…
    Но потом сменил систему, а так пригодиться, кстати может и на дле будет дофоллов)))
    Хотя смысл? Ну сейчас из дле порой такое воротят,что жуть, хотя обычный новостной скрипт…

    Но метод полезный, особенно для новичков.

  • http://wolf-bespredel.ru WOLF BESPREDEL

    Пожалуйста :)

  • http://portal-rap.ru silvan

    А у меня такой вопрос…Не знаю почему, но перестали удаляться комментарии вообще, и на этом и на всех других шаблонах…Не могли бы вы помочь? Был бы очень благодарен.
    Если что, пишите на е-меил sil-one@list.ru

  • http://mislike.ru Книжник

    Спасибо, а то делаю новый блог на dle, раньше много работал с этим движком, а вот с комментариями как то не приходилось сталкиваться.

  • http://www.myfm.org.ua/ Вадим

    Интерсено то , что до сегодняшнего дня был на 100% уверен что у меня нету спама, т.к. гостям коменты запрещены и стоил какой-то хак на запрет ссылок. Но после выполения запроса оказалось что пару профилей вылезло) Спасибо за статью.

  • http://mycoolandroid.ru pupkin

    запрос в базу кривой , мускуль ругается :(

  • СаНьКа

    pupkin, возможно у вас префикс к базе данных другой? И что за ошибка то?