Убиваем спам в комментариях и профилях (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

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

Удачи!