1 (09.01.2013 19:26 отредактировано MeTaDoN)

Тема: Борьба и защита от спама в DLE 9.7

Всем привет, кто какие хаки по защите DLE 9.7 от спама знает? Поделитесь актуальными ссылками.

2

Re: Борьба и защита от спама в DLE 9.7

дополнительный вопрос при регистрации спасает в 90% случаев.

3

Re: Борьба и защита от спама в DLE 9.7

ПафНутиЙ, А как быть с профелем и в сообщениях

4 (11.01.2013 12:52 отредактировано KEFIR)

Re: Борьба и защита от спама в DLE 9.7

Такой обширный вопрос....смотря где опять же...капча и дополнительный вопрос как сказал ПафНутиЙ, несомненно, что касается профиля

/language/Russian/website.lng и после строчки

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

Добавляем

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

Теперь запретим наглым людям ставить ссылки при регистрации

файл /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'];

Всё теперь при регистрации ссылку уже не вставишь в профиль, но что мешает изменить профиль потом и вставить ссылку?

идём  /engine/modules/profile.php

после

if( intval( $user_group[$member_id['user_group']]['max_info'] ) > 0 and dle_strlen( $info, $config['charset'] ) > $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'];
              }

Дальше в этом же файле после

if( intval( $user_group[$member_id['user_group']]['max_signature'] ) > 0 and dle_strlen( $signature, $config['charset'] ) > $user_group[$member_id['user_group']]['max_signature'] ) {
            
            $stop .= $lang['not_allowed_sig'];
        }
        if( dle_strlen( $fullname, $config['charset'] ) > 100 ) {
            
            $stop .= $lang['news_err_23'];
        }

Вставляем

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

Всё в профиле теперь ссылок не будет.


КОММЕНТАРИИ!!

"/engine/modules/addcomments.php" идем туда

После

if( $is_logged and ($member_id['restricted'] == 2 or $member_id['restricted'] == 3) ) {
    
    $stop[] = $lang['news_info_3'];
    $CN_HALT = TRUE;

}

добавляем

if( $member_id['user_group'] > 2){
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;
}}

Тут "$member_id['user_group'] > 2" отвечает за группу пользователей, которым можно добавлять ссылку в комментариях. В нашем случае комментарии разрешено добавлять администраторам и главным редакторам.(дефолтные названия групп разумеется) Если захочешь чтобы другие группы тоже обходили это условие ссылок в комментариях, замени двойку на ID группы пользователей.

Можно не правя движок всё это использовать с помощью фильтра слов который является стандартной функцией DLE добавляешь слова скажем порно, секс, www, http://  .ru .com .net

Область поиска ставишь комментарии и профиль пользователя, а дальше выбирай сам или заменяй эти ссылки например на слово я спаммер забань меня, или просто ставь запрет...

Целую портянку написал) Надеюсь будет много + к карме ^^ спасибо за внимание

5

Re: Борьба и защита от спама в DLE 9.7

убрать теги, выводящие то, что не нужно, запретить использование ссылок, добавить каптчу. удалить пользователей-однодневок

6

Re: Борьба и защита от спама в DLE 9.7

Всем Спасибо За полезные Ответы

7 (11.01.2013 04:32 отредактировано d.j.starter)

Re: Борьба и защита от спама в DLE 9.7

Или я что то не так понял или совсем мозг пропил, поправьте если что то не так

KEFIR пишет:

/language/Russian/website.lng и после строчки

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

Добавляем

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

Выскакивает ошибка  после добавления "О себе" или <b style="color:red;">  я так понял это проблема в  "  " нельзя их писать между самими собой

я прописал у себя так

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

и всё заработало smile только вот красным цветом так и не смог я выделить ЗАПРЕЩЕНО

8 (11.01.2013 12:52 отредактировано KEFIR)

Re: Борьба и защита от спама в DLE 9.7

d.j.starter,  Всё дело в слешах

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

Попробуй должно работать wink

Выше уже поправил для будущих поколений

9

Re: Борьба и защита от спама в DLE 9.7

Вот так теперь порядок и с цветом тоже, в результате для себя замутил вот так вот

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

конечный итог получился как на скриншоте ниже

http://s018.radikal.ru/i504/1301/4d/595ec2a67af8.jpg

Спасибо за помощь ))

10

Re: Борьба и защита от спама в DLE 9.7

d.j.starter, smile Всегда пожалуйста

11 (09.02.2013 14:02 отредактировано d.j.starter)

Re: Борьба и защита от спама в DLE 9.7

Возникла небольшая проблема, после добавления

if( $member_id['user_group'] > 4){
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;
}}

Посетители не могут добавить не только ссылки но и картинки!
Как исправить? И как прописать несколько груп?

12 (10.02.2013 02:34 отредактировано Axel)

Re: Борьба и защита от спама в DLE 9.7

Как вариант, можно изменить адрес стрнаницы регистрации. Это временно избавит от регистраций через Хруммер.
Пользователь ZEOS подробно рассказывает как сделать это.
http://forum.dle-news.ru/index.php?showtopic=62184

От себя добавлю.
Очень-очень часто все ваши ответы вносятся вбазу Спам программ (ну если вы используете систему вопрос/ответ). Настоятельно рекомендую периодически заменять старые вопросы на новые. Не используйте вопросы типа "1+5=". Придумывайте свои, тематические вопросы... Только не перестарайтесь, чтобы какая-та блонда не вскипела smile

P.S. Для каждого сайта должна быть своя, уникальная система защиты от спама. Только тогда ваш сайт будет защищен от спама на 99%

Добавлено: 10.02.2013 01:43

ПафНутиЙ, По поводу однодневок согласен., в остальном - нет... Не нужно на сайте запрещать пользователям делиться, возможно, полезной информацией. Не все люди спамеры smile
Достаточно предотварить регистрацию спамеров и запретить вставлять ссылку там, где мы ее не найдем: профиль, подпись...

13

Re: Борьба и защита от спама в DLE 9.7

Axel, Вчера закрыл демо-сайт, на котором стояла чистая dle, без настроек чего либо, на домене третьего уровня, который делал для поверки модуля и забыл закрыть basic авторизацией.
Так там на 3 мес было зарегистрировано 180+ ботов, а вчера сбрутфорсили админку (пароль 123456789 не сложно ломать smile), и всем этим ботам разослали спам на почту, добавили пару новостей на сайт и сунули в main.tpl какой то левый рекламный скрипт. слава богу этим ограничились или просто я вовремя спохватился.
Про запрет использования ссылок я имел ввиду только в профиле, и подписи, на сайте естественно необходимо разрешать.

14 (10.02.2013 12:38 отредактировано Axel)

Re: Борьба и защита от спама в DLE 9.7

ПафНутиЙ, Новичек, прочитав это, может сильно испугаться DLE big_smile
Я с такими последствиями еще не сталкивался. Да, у меня на сайте сейчас зарегано свыше 70000 посетителей, и понятное дело, что процентов 70-80 - спамеры. Но такое количество спамеров я собрал не много, ни мало, за 5-6 лет.
Благо появилсяхак для удаления однодневок. Правда минус в нем есть: нельзя на одну страницу выводить более 50 логинов. smile

15

Re: Борьба и защита от спама в DLE 9.7

d.j.starter пишет:

Посетители не могут добавить не только ссылки но и картинки!

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

d.j.starter пишет:

И как прописать несколько груп?

if( $member_id['user_group'] > 4)   правь эту строку

16 (27.02.2013 07:31 отредактировано Chapman)

Re: Борьба и защита от спама в DLE 9.7

KEFIR, В случае запрета URL в подписи наверное должно быть вот так, в противном случае, при добавлении ссылки в поле О себе выводится два предупреждения про Себя и про Подпись, а при добавлении ссылку в подпись не выводится ничего:

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

17 (04.04.2013 14:49 отредактировано Roger232)

Re: Борьба и защита от спама в DLE 9.7

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

Может есть у кого то проверенные способы изменения капчи или введения доп. вопросов, что бы отсеять таких клиентов, поскольку  количество ботов при этом не уменьшилось (прут прямо сотнями за день).

18

Re: Борьба и защита от спама в DLE 9.7

или введения доп. вопросов, что бы отсеять таких клиентов

В DLE 9.7 есть такая возможность раздел - Вопросы и ответы для защиты от спама

19

Re: Борьба и защита от спама в DLE 9.7

Axel пишет:

Правда минус в нем есть: нельзя на одну страницу выводить более 50 логинов.

engine/inc/editusers.php ищем: $news_per_page = 50
меняем на нужное число, я себе поставил 1500 - быстро всех ботов удалил)

20

Re: Борьба и защита от спама в DLE 9.7

Chapman, к сожалению у меня версия ДЛЕ 9.3 Менять на другую не хочется, она лицензионная. Я в настройках ограничил регситрацию пользователей до 5 человек. Теперь никто не может зарегаться. Даже живые люди.