WWW.ZEOS.IN 1 161 Опубликовано: 22 января 2013 Рассказать Опубликовано: 22 января 2013 Изменяем адрес странички регистрации | Временно избавляемся от массовой регистрации ботов и спама Для того, чтобы полностью и правильно поменять адрес странички регистрации с, например, _http://домен/?do=register на _http://домен/?do=my_reg, необходимо произвести такие изменения в файлах DLE: 1) Открыть файл: /engine/data/config.php и в массив $config в самом низу добавить 'register' => "my_reg", Скрытый текст Было: ... 'rss_number' => "10", 'rss_format' => "1", 'version_id' => "9.7", ); ?> Стало: ... 'rss_number' => "10", 'rss_format' => "1", 'version_id' => "9.7", 'register' => "my_reg", ); ?> Вместо слова my_reg используйте любое другое слово (оно должно быть уникальным для вашего сайта). 2) В файле /engine/init.php найти строчку: $tpl->set( '{registration-link}', $PHP_SELF . "?do=register" ); и заменить на: $tpl->set( '{registration-link}', $PHP_SELF . "?do={$config['register']}" );[/code] [spoiler][color=#ff8c00][b]Было[/b][/color]: $tpl->set( '{registration-link}', $PHP_SELF . "?do=[color=#ff0000][b]register[/b][/color]" ); [color=#ff8c00][b]Стало[/b][/color]: $tpl->set( '{registration-link}', $PHP_SELF . "?do=[color=#ff0000][b]{$config['register']}[/b][/color]" ); [/spoiler] [color=#0000ff][b]3[/b][/color]) В файле /engine/[color=#ff0000][b]engine.php[/b][/color] найти строчки: case "register" : и заменить на: case $config['register'] : elseif ($do == 'register') $nam_e = $lang['title_register']; и заменить на: elseif ($do == $config['register']) $nam_e = $lang['title_register']; Было: elseif ($do == 'register') $nam_e = $lang['title_register']; Стало: elseif ($do == $config['register']) $nam_e = $lang['title_register']; 4) В файле /engine/modules/static.php найти строчки: if( $_GET['page'] == "dle-rules-page" ) if( $do != "register" ) { и заменить на: if( $_GET['page'] == "dle-rules-page" ) if( $do != $config['register'] ) { Было: if( $_GET['page'] == "dle-rules-page" ) if( $do != "register" ) { Стало: if( $_GET['page'] == "dle-rules-page" ) if( $do != $config['register'] ) { $tpl->set( '{ACCEPT-DECLINE}', "<form method=\"post\" name=\"registration\" id=\"registration\" action=\"\"><input type=\"submit\" class=\"bbcodes\" value=\"{$lang['rules_accept']}\" /> <input type=\"button\" class=\"bbcodes\" value=\"{$lang['rules_decline']}\" onclick=\"history.go(-1); return false;\" /><input name=\"do\" type=\"hidden\" id=\"do\" value=\"register\" /><input name=\"dle_rules_accept\" type=\"hidden\" id=\"dle_rules_accept\" value=\"yes\" /></form>" ); и заменить на: $tpl->set( '{ACCEPT-DECLINE}', "<form method=\"post\" name=\"registration\" id=\"registration\" action=\"\"><input type=\"submit\" class=\"bbcodes\" value=\"{$lang['rules_accept']}\" /> <input type=\"button\" class=\"bbcodes\" value=\"{$lang['rules_decline']}\" onclick=\"history.go(-1); return false;\" /><input name=\"do\" type=\"hidden\" id=\"do\" value=\"{$config['register']}\" /><input name=\"dle_rules_accept\" type=\"hidden\" id=\"dle_rules_accept\" value=\"yes\" /></form>" ); Было: $tpl->set( '{ACCEPT-DECLINE}', "<form method="post" name="registration" id="registration" action=""><input type="submit" class="bbcodes" value="{$lang['rules_accept']}" /> <input type="button" class="bbcodes" value="{$lang['rules_decline']}" onclick="history.go(-1); return false;" /><input name="do" type="hidden" id="do" value="register" /><input name="dle_rules_accept" type="hidden" id="dle_rules_accept" value="yes" /></form>" ); Стало: $tpl->set( '{ACCEPT-DECLINE}', "<form method="post" name="registration" id="registration" action=""><input type="submit" class="bbcodes" value="{$lang['rules_accept']}" /> <input type="button" class="bbcodes" value="{$lang['rules_decline']}" onclick="history.go(-1); return false;" /><input name="do" type="hidden" id="do" value="{$config['register']}" /><input name="dle_rules_accept" type="hidden" id="dle_rules_accept" value="yes" /></form>" ); 5) В файле /engine/modules/register.php найти строчки: $row['template'] = str_replace( "{%validationlink%}", $config['http_home_url'] . "index.php?do=register&doaction=validating&id=" . $idlink, $row['template'] ); и заменить на: $row['template'] = str_replace( "{%validationlink%}", $config['http_home_url'] . "index.php?do={$config['register']}&doaction=validating&id=" . $idlink, $row['template'] ); Было: $row['template'] = str_replace( "{%validationlink%}", $config['http_home_url'] . "index.php?do=register&doaction=validating&id=" . $idlink, $row['template'] ); Стало: $row['template'] = str_replace( "{%validationlink%}", $config['http_home_url'] . "index.php?do={$config['register']}&doaction=validating&id=" . $idlink, $row['template'] ); <input name=\"do\" type=\"hidden\" id=\"do\" value=\"register\" /> и заменить на: <input name=\"do\" type=\"hidden\" id=\"do\" value=\"{$config['register']}\" /> Было: <input name="do" type="hidden" id="do" value="register" /> Стало: <input name="do" type="hidden" id="do" value="{$config['register']}" /> msgbox( $lang['all_info'], $lang['confirm_ok'] . " <a href=\"" . $config['http_home_url'] . "index.php?do=register&doaction=validating&step=2&id=" . rawurlencode( $_REQUEST['id'] ) . "\">" . $lang['reg_next'] . "</a>" ); и заменить на: msgbox( $lang['all_info'], $lang['confirm_ok'] . " <a href=\"" . $config['http_home_url'] . "index.php?do={$config['register']}&doaction=validating&step=2&id=" . rawurlencode( $_REQUEST['id'] ) . "\">" . $lang['reg_next'] . "</a>" ); Было: msgbox( $lang['all_info'], $lang['confirm_ok'] . " <a href="" . $config['http_home_url'] . "index.php?do=register&doaction=validating&step=2&id=" . rawurlencode( $_REQUEST['id'] ) . "">" . $lang['reg_next'] . "</a>" ); Стало: msgbox( $lang['all_info'], $lang['confirm_ok'] . " <a href="" . $config['http_home_url'] . "index.php?do={$config['register']}&doaction=validating&step=2&id=" . rawurlencode( $_REQUEST['id'] ) . "">" . $lang['reg_next'] . "</a>" ); <input name=\"do\" type=\"hidden\" id=\"do\" value=\"register\" /> и заменить на: <input name=\"do\" type=\"hidden\" id=\"do\" value=\"{$config['register']}\" /> Было: <input name="do" type="hidden" id="do" value="register" /> Стало: <input name="do" type="hidden" id="do" value="{$config['register']}" /> 6) В файле /robots.txt найти строчку Disallow: /*do=register и удалить её. 7) Из всех файлов шаблона удалить старую ссылку на страницу регистрации, а в шаблоне login.tpl использовать тег {registration-link} для вывода нашей новой ссылки для регистрации. Рекомендации: I) Если вы на своём сайте используете reCAPTCHA, то обязательно создайте для этой капчи персональный публичный и приватный ключи. Сгенерировать ключи для своего сайта можно тут: http://www.google.com/recaptcha После того, как ключи сгенерированы, их надо вставить в админке DLE в разделе "Настройка системы/Настройки безопасности скрипта". II) Обязательно используйте возможность стандартного модуля DLE - Вопросы и ответы для защиты от спама ( _http://ваш_домен/admin.php?mod=question ). III) Включайте возможность комментирования новостей только зарегистрированным пользователям. Или вставляйте на свой сайт комментирование от Вконтакте и Facebook. IV) Используйте стандартные функции DLE: Отправлять комментарии на модерацию Максимальное количество комментариев в сутки Автоматическое удаление зарегистрированных пользователей Разрешить регистрацию нескольких пользователей с одного IP Ограничение на добавление комментариев на сайте после регистрации Автоматический запрет комментирования новости по истечении указанного срока Защита от флуда и другие Пожалуйста, укажите в комментариях кто какие методы борьбы со спамом и массовой регистрацией использует на своих сайтах 5 Цитата Ссылка на сообщение Поделиться на других сайтах
kabbalahportal.org 4 Опубликовано: 22 января 2013 Рассказать Опубликовано: 22 января 2013 Прикол еще в том, что зачастую спамеры регятся не для того, чтобы что-либо коментить, а просто чтобы достать! Цитата Ссылка на сообщение Поделиться на других сайтах
WWW.ZEOS.IN 1 161 Опубликовано: 22 января 2013 Рассказать Опубликовано: 22 января 2013 Автор Пришлось выложить всю новость в текстовый файл, так как парсер форума портит код. Вот тут всё верно: http://i.zeos.in/new_url_of_registration_page.txt 1 Цитата Ссылка на сообщение Поделиться на других сайтах
dakk 11 Опубликовано: 23 января 2013 Рассказать Опубликовано: 23 января 2013 (изменено) Спасибо Zeos. По идее эту бы фичу в движок 9.8 установить, чтобы для каждого сайта была индивидуальная страница для регистрации, точно также как это делается с админ панелью. Тогда бы у Хрумероводов не было возможности автоматической одновременной регистрации на многих сайтах dle. Изменено 23 января 2013 пользователем dakk Цитата Ссылка на сообщение Поделиться на других сайтах
WWW.ZEOS.IN 1 161 Опубликовано: 23 января 2013 Рассказать Опубликовано: 23 января 2013 Автор dakk, если это появится в DLE по умолчанию, то просто переделают эти спамилки и всё-равно можно будет обходить этот способ Дайте знать, помог ли Вам этот способ от массовой регистрации ботов? 1 Цитата Ссылка на сообщение Поделиться на других сайтах
dakk 11 Опубликовано: 23 января 2013 Рассказать Опубликовано: 23 января 2013 (изменено) dakk, если это появится в DLE по умолчанию, то просто переделают эти спамилки и всё-равно можно будет обходить этот способ Дайте знать, помог ли Вам этот способ от массовой регистрации ботов? Зарегистрированных пользователей стало меньше, а значит и спамеров соответственно, хотя комментариев не так уж много, регистрируются наверное больше, чтобы оставлять ссылки в профиле, а я убрал там ненужные поля так, что их ждет неприятный сюрприз. Спасибо еще раз Изменено 23 января 2013 пользователем dakk Цитата Ссылка на сообщение Поделиться на других сайтах
Wanderers 17 Опубликовано: 31 января 2013 Рассказать Опубликовано: 31 января 2013 Сервис есть StopForumSpam с api, можно проверять по базе ip, e-mail, спамер или нет. Цитата Ссылка на сообщение Поделиться на других сайтах
Mek 99 Опубликовано: 8 февраля 2013 Рассказать Опубликовано: 8 февраля 2013 (изменено) Интересно, если добавить в DLE генерирование случайной ссылки на страницу с регистрацией, это спасёт от ботов? Чтоб при нажатии на "Зарегистрироваться" генерировалась случайная ссылка и всегда разная. P.S. То, что написал ZEOS.IN в первом сообщении, конечно хорошо, но вносить все эти изменения при каждом обновлении движка- это уж перебор Изменено 8 февраля 2013 пользователем Mek Цитата Ссылка на сообщение Поделиться на других сайтах
bitmaster 3 Опубликовано: 9 февраля 2013 Рассказать Опубликовано: 9 февраля 2013 спасиюо изменил ) сделал как вы и написали. польза на лицо , на тестовом домене (который никто не знает) наконец то прекратилась рега . значит работает Цитата Ссылка на сообщение Поделиться на других сайтах
WWW.ZEOS.IN 1 161 Опубликовано: 9 февраля 2013 Рассказать Опубликовано: 9 февраля 2013 Автор Mek, если сделать это стандартно в DLE, то когда переделают спам-программы - это уже не спасёт. Как уже говорил Владимир, защита должна быть уникальна для каждого сайта. То-есть, каждый владелец сайта должен придумать какую-то хитрую защиту.Mek, лучше вносить те изменения, которые в третьем сообщении: http://forum.dle-news.ru/index.php?showtopic=62184&view=findpost&p=309553 , так как парсер форума немного испортил код. 1 Цитата Ссылка на сообщение Поделиться на других сайтах
user333 0 Опубликовано: 15 февраля 2013 Рассказать Опубликовано: 15 февраля 2013 Доброго времени суток. Извиняюсь, новичок в этом деле. 7 пункт не получается. Хочу узнать правильно ли я делаю, строку в файле шаблона <li class="icon-reg level-2"><a href="/?do=register">Регистрация</a></li> менять на <li class="icon-reg level-2"><a href="/{registration-link}">Регистрация</a></li> ? И что нужно сделать с тегом [registration-link] в файле login.tpl ? Все пункты вроде правильно сделал - если в адресной строке вбить ручками mysite.ru/?do=my_reg то всё нормально - перехожу на страницу регистрации. И где нужно использовать тег [registration-link] в файле login.tpl? В файле login.tpl у меня вот так <a href="{registration-link}">Регистрация</a> Цитата Ссылка на сообщение Поделиться на других сайтах
WWW.ZEOS.IN 1 161 Опубликовано: 15 февраля 2013 Рассказать Опубликовано: 15 февраля 2013 Автор Все пункты вроде правильно сделал - если в адресной строке вбить ручками mysite.ru/?do=my_reg Вам надо просто в Вашем шаблоне прописать ссылку на свою новую страничку регистрации. Либо выводить ссылку на регистрацию в файле login.tpl тегом {registration-link} И где нужно использовать тег [registration-link] в файле login.tpl? Не [registration-link], а {registration-link} - стандартный тег DLE В login.tpl у Вас прописано всё верно. 1 Цитата Ссылка на сообщение Поделиться на других сайтах
samsebeinvestor 2 Опубликовано: 17 февраля 2013 Рассказать Опубликовано: 17 февраля 2013 Премного благодарен. Все сделал как написано, надеюсь поможет 1 Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 18 февраля 2013 Рассказать Опубликовано: 18 февраля 2013 (изменено) есть сайт с посещалкой в районе 60к, ранее ежедневно регилось десятки левых спаммерских аккаунтов. боролся блокировкой айпишников и маской емейлов типа *@levoemilo.com. в принципе, подавляющее большинство (я бы сказал процентов 60-70) спама идет из китая 112.*, 175.* по сути мне посетители из китая не особо нужны, но тем не менее решил их не блочить всех, тем более что другая часть все равно бы регилась поэтому, поставил вчера вечером данный хак + сделал небольшие личные модификации в register.php на текущий момент за период чуть менее суток - только регистрации нормальных людей понаблюдаю за ситуацией и через пару дней отпишу подробнее! Сергею респекты и уважуха! Изменено 18 февраля 2013 пользователем prikindel 1 Цитата Ссылка на сообщение Поделиться на других сайтах
samsebeinvestor 2 Опубликовано: 20 февраля 2013 Рассказать Опубликовано: 20 февраля 2013 dakk, если это появится в DLE по умолчанию, то просто переделают эти спамилки и всё-равно можно будет обходить этот способ Дайте знать, помог ли Вам этот способ от массовой регистрации ботов? Мне помогло, боты больше не беспокоят Спасибо большое автору.... 1 Цитата Ссылка на сообщение Поделиться на других сайтах
IgorA100 90 Опубликовано: 20 февраля 2013 Рассказать Опубликовано: 20 февраля 2013 Еще я подметил факт, что спамеры лезут в корень сайта. Если же скрипт ставить в НЕ корневой каталог, то спамеров лезет на порядок! меньше. Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 20 февраля 2013 Рассказать Опубликовано: 20 февраля 2013 отписываюсь, как и обещал: прошло больше трех суток, ботов нет. только в логах вижу тщетные обращения к ?do=register несколько раз всплывали спам комменты от зарегистрировавшихся ранее, но волшебная кнопка "спам" спасает) 1 Цитата Ссылка на сообщение Поделиться на других сайтах
Wanderers 17 Опубликовано: 21 февраля 2013 Рассказать Опубликовано: 21 февраля 2013 только в логах вижу тщетные обращения к ?do=register Я вот думаю, может после такого обращения ip адресок сразу проверять в базе спамеров и банить. У меня после этого открывают попеременно 2 последние статьи раз 5 в цикле и получая пустую страницу сваливают. Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 21 февраля 2013 Рассказать Опубликовано: 21 февраля 2013 Wanderers, примерно та же фигня. последним двум новостям накручивают под +10к просмотров))) насчет проверять и банить - можно, но банить на уровне iptables, в бд нет смысла заносить. лишние запросы к базе. Цитата Ссылка на сообщение Поделиться на других сайтах
Wanderers 17 Опубликовано: 21 февраля 2013 Рассказать Опубликовано: 21 февраля 2013 Wanderers, примерно та же фигня. последним двум новостям накручивают под +10к просмотров))) насчет проверять и банить - можно, но банить на уровне iptables, в бд нет смысла заносить. лишние запросы к базе. На небольших проектах все решаемо, и в таблицу писать и на stopforumspam по api слазить вполне можно, а вот с большим кол-вом посещений уже надо смотреть что делать и пробовать варианты. Цитата Ссылка на сообщение Поделиться на других сайтах
svadbavsurgute 0 Опубликовано: 20 марта 2013 Рассказать Опубликовано: 20 марта 2013 После установки данного ХАКА, если можно так назвать, у меня появилась проблема Если включить расширенную схему регистрации, то есть через подтверждение по почте, то пользователю после предварительной регистрации по почте приходит письмо со строкой для активации, которая почему то не активирует, а перекидывает его снова на страницу регистрации, помогите пожалуйста. Я уж было обрадовался, думал от ботов избавился, тишина в регистратуре, а оказывается что у меня и юзеры не смогли зарегаться. Временно отключил расширенную регистрацию, но это не выход, нужно как то исправить, помогите пожалуйста! Цитата Ссылка на сообщение Поделиться на других сайтах
svadbavsurgute 0 Опубликовано: 17 апреля 2013 Рассказать Опубликовано: 17 апреля 2013 up помогите, проблему так и не решил Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 17 апреля 2013 Рассказать Опубликовано: 17 апреля 2013 svadbavsurgute, криво вставил код. все там отлично работает с расширенной регистрацией Цитата Ссылка на сообщение Поделиться на других сайтах
x1313 0 Опубликовано: 18 апреля 2013 Рассказать Опубликовано: 18 апреля 2013 у меня впринципе не встал данный код.. вверху страницы выскакивает теперь if ( $metatags['header_title'] ) $metatags['title'] = stripslashes($metatags['header_title'].$page_extra); и шрифты увеличились. все перепроверил, ставил по инструкции. м.б. на ДЛЕ 9.8. что-то подругому надо ставить Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 18 апреля 2013 Рассказать Опубликовано: 18 апреля 2013 на 9.8. все прекрасно работает, я же писал, что на нескольких сайтах установил и протестировал в течение 2х месяцев шрифты изменились потому что вылазит сообщение об ошибке, если его не будет, то и отображаться будет все нормально. внимательнее еще разок попробуйте Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.