DLE как запретить ссылки в комментариях?
Если вы являетесь WebMasterom или просто тем человеком, что сделал хотя бы один сайт на популярном движке DLE (Data Life Engine), то Вы наверняка сталкивались с такой напастью, как спамерские записи, содержащие в себе, абсолютно бессмысленный или обобщенный текст в комментариях к новости.
Бессмысленный комментарий к новости – это еще пол беды. Обычно целью таких комментариев, является размещение на Вашем сайте ссылки, которая ведет на тот или иной внешний ресурс. В особо тяжелых случаях, ссылки ведут на какие-то платные порно сайты и т.п.
До недавнего момента, я спасался тем, что включал в настройках капчу (проверочный код, который необходимо ввести при добавлении комментария на сайт). Но и эта защита меня не спасала. Было время, когда комментарии писались вручную и буквально за пару недель отсутсвия на сайте, у меня разместили чуть больше 50-ти ссылок на внешние ресурсы.
Дабы обломать малину спамерам, я решил запретить добавление ссылок в комментарии и в поле “о себе”. По этому рекомендую Вам, на стадии создания сайта, вносить кое-какие изменения в текст модулей движка Data Life Engine.
Как запретить ссылки в комментариях?
1) Открываем файл в папке \engine\modules\addcomments.php
2) Ищем if( strlen( $name ) > 50 ) {
$stop[] = $lang['news_err_1'];
$CN_HALT = TRUE;
}
На самом деле, проще искать строку news_err_1
3) После найденной строки, добавляем ниже
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'];
}
4) Ищем
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'];
Опять таки, искать лучше reg_err_14
5) Вставляем ниже
if (preg_match (“/href|url|http|www|\.ru|\.com|\.net|\.info|\.org/i”, $_POST['info'])) $stop .= $lang['news_err_url'];
6) Находим в файле \language\Russian\website.lng строку
‘news_err_1′ => “Вы ввели слишком длинное имя.”,
и добавляем, ниже
‘news_err_url’ => “URL адреса сайтов, в поле \”О себе\” публиковать КАТЕГОРИЧЕСКИ ЗАПРЕЩЕНО!”,
7) Сохраняем внесенные изменения.
Выполнив эти несложные шаги, можно защитить свой сайт, сделанный на DLE, от посягательства спамеров, оставляющих ссылки.
Комментарии
Начальная
http://www.newmoldova.com
[url=http://www.newmoldova.com].[/url]