Мы в твиттере Мы в телеграме!

Провеббер » DataLife Engine » DLE хаки » Защита от массовой рассылки персональных сообщений

Набор в команду! Ведется набор в команду, для наполнения сайта новым, интересным контентом. Если у тебя есть предложения, свободное время, ты обладаешь интересным контентом, и хочешь поделиться с другими?
Обращайся к нам в ЛС группы Вконтакте.

Защита от массовой рассылки персональных сообщений

Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Защита от массовой рассылки персональных сообщений.

Защита от массовой рассылки персональных сообщений


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

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

1) Итак откройте файл engine/modules/pm.php и найдите:

$stop = "";


2) Добавьте ниже

$id_key = $_POST[$_SESSION['id_key']];            
    if( $id_key == "" or $id_key != $dle_login_hash ) $stop .= "<li>ANTISPAM: User ID not valid</li>";
    if (clean_url($_SERVER['HTTP_REFERER']) != clean_url($_SERVER['HTTP_HOST'])) $stop .= "<li>ANTISPAM: User ID not valid</li>";


3) Далее в этом файле найдите строчки:

if( $config['allow_comments_wysiwyg'] == "yes" ) $tpl->copy_template = "<form  method=\"post\" name=\"dle-comments-form\" id=\"dle-comments-form\" onsubmit=\"document.getElementById('comments').value = tinyMCE.get('comments').getContent(); if(document.getElementById('dle-comments-form').name.value == '' || document.getElementById('dle-comments-form').subj.value == '' || document.getElementById('comments').value == ''){alert('{$lang['comm_req_f']}');return false}\" action=\"\">\n" . $tpl->copy_template . "<input name=\"send\" type=\"hidden\" value=\"send\" /></form>";
    else $tpl->copy_template = "<form  method=\"post\" name=\"dle-comments-form\" id=\"dle-comments-form\" onsubmit=\"if(document.getElementById('dle-comments-form').name.value == '' || document.getElementById('dle-comments-form').subj.value == '' || document.getElementById('dle-comments-form').comments.value == ''){alert('{$lang['comm_req_f']}');return false}\" action=\"\">\n" . $tpl->copy_template . "<input name=\"send\" type=\"hidden\" value=\"send\" /></form>";


4) Замените их на:

$salt = "abchefghjkmnpqrstuvwxyz";
    $random_key = "";
            
    for($i = 0; $i < 8; $i ++) {
        $random_key .= $salt{rand( 0, 23 )};
    }
            
    @session_register( 'id_key' );
    $_SESSION['id_key'] = $random_key;
            
    $random_key = "<input name=\"{$random_key}\" type=\"hidden\" value=\"{$dle_login_hash}\" />";
    
    if( $config['allow_comments_wysiwyg'] == "yes" ) $tpl->copy_template = "<form  method=\"post\" name=\"dle-comments-form\" id=\"dle-comments-form\" onsubmit=\"document.getElementById('comments').value = tinyMCE.get('comments').getContent(); if(document.getElementById('dle-comments-form').name.value == '' || document.getElementById('dle-comments-form').subj.value == '' || document.getElementById('comments').value == ''){DLEalert('{$lang['comm_req_f']}', dle_info);return false}\" action=\"\">\n" . $tpl->copy_template . "{$random_key}<input name=\"send\" type=\"hidden\" value=\"send\" /></form>";
    else $tpl->copy_template = "<form  method=\"post\" name=\"dle-comments-form\" id=\"dle-comments-form\" onsubmit=\"if(document.getElementById('dle-comments-form').name.value == '' || document.getElementById('dle-comments-form').subj.value == '' || document.getElementById('dle-comments-form').comments.value == ''){DLEalert('{$lang['comm_req_f']}', dle_info);return false}\" action=\"\">\n" . $tpl->copy_template . "{$random_key}<input name=\"send\" type=\"hidden\" value=\"send\" /></form>";


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


Дополнительные ссылки на скачивание ТОЛЬКО для зарегистрированных


0
Просмотры: 3 719 :: Комментарии (7) :: :: Нужна помощь? Задайте вопрос на форуме ::
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1Yeti

  • 2 декабря 2010 17:30
  • Регистрация: 3.02.2010
  • Был(а) онлайн: 24.04.2014
  • Комментариев: 187
  • 0
Капец dash копипаст даже скриптерскую ссылку в тексте не убрали которую видимо случайно когда там постили клацнули в слове настройки...
отключение в настройкhttp://skripters.com/bugs/6616-zashhita-ot-massovojj-rassylki-personalny
kh.htmlах групп разрешение на использование персональных сообщений

а вот за скрин можно спасибо сказать понравился и в тему biggrin

--------------------

#2Ferrum

  • 2 декабря 2010 17:46
  • Регистрация: 6.10.2010
  • Был(а) онлайн: 24.12.2011
  • Комментариев: 108
  • 0
Yeti,
Блин, извиняюсь, не увидел ссылку, текста много...Ещё раз прошу прощения blush

--------------------

#3Dark Angell

  • 2 декабря 2010 18:13
  • Регистрация: 9.10.2009
  • Был(а) онлайн: 22.12.2024
  • Комментариев: 310
  • 0
вообще утащили с сайта целсофта из под хайда,этот хак был до выхода 9.0 вроде

#4DaImeR

  • 3 декабря 2010 01:31
  • Регистрация: 21.11.2009
  • Был(а) онлайн: 15.01.2015
  • Комментариев: 338
  • 0
я решил проблему кардинально, вырезал кусок кода отвечающий за рассылку))

--------------------

#5Ferrum

  • 3 декабря 2010 15:38
  • Регистрация: 6.10.2010
  • Был(а) онлайн: 24.12.2011
  • Комментариев: 108
  • 0
DaImeR,
Но это уже слишком...Хотя данный способ тоже временное решение...

--------------------

#6Jordan

  • 4 декабря 2010 15:59
  • Регистрация: 14.03.2010
  • Был(а) онлайн: 13.03.2013
  • Комментариев: 102
  • 0
спасибо, установил себе, а то спамеры уже заканали

--------------------

#7temixpsih

  • 2 января 2011 18:50
  • Регистрация: 28.09.2010
  • Был(а) онлайн: 4.04.2015
  • Комментариев: 20
  • 0
Хороший сайт много полезной информации....

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Архив новостей
Декабрь 2024 (10)
Ноябрь 2024 (9)
Октябрь 2024 (169)
Сентябрь 2024 (13)
Август 2024 (60)
Июль 2024 (12)

Последние комментарии: