Опубликованные статьи


Избавляемся от говнокомментов в DLE

Как известно всем без исключения вебмастерам, говнокомменты одна из самых главных проблем для любого сайта. Спаммеры не гнушаются ничем для того чтобы воткнуть свою ссылку в ваш сайт. Дело доходит до всяческих ухищрений и даже извращений, когда ссылки вставляют в виде смайла или точки, запятой или тире.

Говнокомменты стали огромной проблемой, причем это касается не, только DLE, но и любого другого популярного движка. Регистрируясь на вашем сайте, спаммер старается воткнуть ссылку на свой говносайт в профиль, в подпись, в комментарий. Спаммер это такое животное, которое не гнушается ничем, и если владелец сайта не настраивает уведомления о регистрации нового участника и добавлении нового комментария на свой email, то со временем масштабы спама становятся угрожающими, и даже внешне белый и пушистый сайт становится похож на линкопомойку.

Как установить защиту от говнокомменов в DLE?

Я решил проблему следующим образом. Меняем исходные файлы движка.
Открываем: engine/modules/addcomments.php и находим следующую строчку:

1
2
3
4
if( strlen( $name ) > 50 ) {
$stop[] = $lang['news_err_1'];
$CN_HALT = TRUE;
}

Ниже ее вставляем:

1
2
3
4
5
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[] = "Спам ссылок в комментах у нас на сайте запрещен!!";
$CN_HALT = TRUE;
}

Все. Мы защитили свой сайт от ссылок в комментариях на DLE. Теперь при попытке комментатора вставить ссылку, движок ему ответит, что «Спам ссылок в комментах у нас на сайте запрещен», и спаммер будет послан лесом.

Теперь нам необходимо защититься от ссылок в профилях зарегистрированных пользователей.

Открываем engine/modules/profile.php и находим в нем следующую строку:

1
2
3
4
5
if (strlen($info) > 1000)
    {
 
            $stop .= $lang['news_err_22'];
    }

Ниже добавляем следующее:

1
2
3
4
5
if (preg_match ("/href|url|http|www|.ru|.com|.net|.info|.org/i", $_POST['info']))
    {
 
            $stop .= $lang['news_err_url'];
    }

Теперь мы надежно защищены от ссылок в профилях. Самое важное, что ссылки в профилях пользователей различных движков используют для накрутки ТИЦ нахаляву. Эти ссылки не видны невооруженным глазом (согласитесь, ведь вы же довольно редко смотрите кто именно и сколько человек зарегистрировано у вас на сайте), и представляют значительную угрозу для вашего сайта, так как он может ссылаться на сайты самых немыслимых тематик.

И в заключение запрещаем добавлять говноссылки при регистрации.

Открываем engine/modules/register.php и находим:

1
if (strlen($info) > 500) $stop .= $lang['reg_err_14'];

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

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

Теперь мы надежно защищены. Остается подстраховаться составлением правильного robots.txt для DLE и жить спокойно.



Кстати, сегодня искал такую тему, как продвижение сайтов, Киев. Попалась одна интересная киевская сео компания.


Поделись с друзьями!

    Получай обновления сайта прямо на e-mail!

    Введите Ваш email:

    Кроме того, интересно почитать:

Comments6 комментариев

 

  1. во, спасибо, надо будет так же сделать, а то у меня 2 сайта на дле, и я замахался уже удалять их них спам, один сайт который я готовил для ГГЛ даже под агс улетел из за этого спама((

  2. Джони говорит, что:
    даже под агс улетел из за этого спама((

    Да, и такое к сожалению бывает… :(

  3. Но ведь при этом способе отклоняются вообще любые ссылки в комментариях? Даже от «правильных» комментаторов? А ссылку на сайт в полях, заполняемых для комментария, тоже нельзя ставить?
    Способ надежный, но уж слишком радикальный. Или я чего-то не уловила…

  4. Да, способ радикальный. Все верно. Но на DLE чаще всего делают новостные серьезные порталы, рассчитанные на высокую посещаемость, где ссылки в комментариях совершенно ни к чему.
    DLE это не блог =)

  5. Огромное спасибо! Перепробовал много вариантов и выдавало ошибки, а ваш супер с первого раза все работает супер! Еще раз большое спасибо!!!

  6. @ Денис:

    Рад, что статья оказалась полезной =) Я рассказываю только то, что пробовал сам, своими руками =)
    Я давно близок с DLE и статьи на этом блоге не тупой рерайт, а исключительно личный опыт, основанный на собственных разбитых коленках =)

Комментировать