uk en pl it
Web Monarx
BACK NEXT

Как запретить ссылки в комментариях DLE


Если вы являетесь WebMasterom или просто тем человеком, что сделал хотя бы один сайт на популярном движке DLE (Data Life Engine), то Вы наверняка сталкивались с такой напастью, как спамерские записи, содержащие в себе, абсолютно бессмысленный или обобщенный текст в комментариях к новости.

Бессмысленный комментарий к новости – это еще пол беды. Обычно целью таких комментариев, является размещение на Вашем сайте ссылки, которая ведет на тот или иной внешний ресурс. В особо тяжелых случаях, ссылки ведут на какие-то платные порно сайты и т.п.

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

Дабы обломать малину спамерам, я решил запретить добавление ссылок в комментарии и в поле “о себе”. По этому рекомендую Вам, на стадии создания сайта, вносить кое-какие изменения в текст модулей движка Data Life Engine.


Как запретить ссылки в комментариях?

Данные изменения запретят пользователям оставлять ссылки в комментариях DLE

Приступим. Откроем файл /engine/modules/addcomments.php и ищем код:
if( $comments == \'\' ) {
    $stop[] = $lang[\'news_err_11\'];
    $CN_HALT = TRUE;

}


Ниже него добавим пару строчек:
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;
}

 

4) Сохраняем внесенные изменения.


Как запретить ссылки в поле о себе?


1) Открываем файл \\engine\\modules\\profile.php

2) Ищем     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\'];
}
Искать лучше по строке news_err_22

3) Добавляем ниже
if (preg_match (“/href|url|http|www|\\.ru|\\.com|\\.net|\\.info|\\.org/i”, $_POST[\'info\']))
{
$stop .= $lang[\'news_err_url\'];
}

 


Открываем файл - engine/modules/register.php
Находим:

if( dle_strlen( $fullname, $config[\'charset\'] ) > 100 ) $stop .= $lang[\'reg_err_15\'];



ВЫШЕ вставляем:

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



Открываем - language/Russian/website.lng
Находим:

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



Добавляем ниже или же выше:

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

7) Сохраняем внесенные изменения.

Выполнив эти несложные шаги, можно защитить свой сайт, сделанный на DLE, от посягательства спамеров, оставляющих ссылки.

Сайт является частным собранием материалов и представляет собой любительский информационно-образовательный ресурс. Вся информация получена из открытых источников. Администрация не претендует на авторство использованных материалов. Все права принадлежат их правообладателям