CMS DataLife Engine - Система управления сайтами

WWW.ZEOS.IN

Изменяем адрес странички регистрации | Временно избавляемся от массовой регистрации ботов и спама

39 сообщений в этой теме

Изменяем адрес странички регистрации | Временно избавляемся от массовой регистрации ботов и спама

Для того, чтобы полностью и правильно поменять адрес странички регистрации с, например, _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] найти строчки:

[code]case "register" :[/code]
и заменить на:
[code]case $config['register'] :[/code]
[code]elseif ($do == 'register') $nam_e = $lang['title_register'];[/code]
и заменить на:
[code]elseif ($do == $config['register']) $nam_e = $lang['title_register'];[/code]
[spoiler][color=#ff8c00][b]Было[/b][/color]: elseif ($do == [color=#ff0000][b]'register'[/b][/color]) $nam_e = $lang['title_register']; [color=#ff8c00][b]Стало[/b][/color]: elseif ($do == [color=#ff0000][b]$config['register'][/b][/color]) $nam_e = $lang['title_register']; [/spoiler] [color=#0000ff][b]4[/b][/color]) В файле /engine/modules/[color=#ff0000][b]static.php[/b][/color] найти строчки:
[code]if( $_GET['page'] == "dle-rules-page" ) if( $do != "register" ) {[/code]
и заменить на:
[code]if( $_GET['page'] == "dle-rules-page" ) if( $do != $config['register'] ) {[/code]
[spoiler][color=#ff8c00][b]Было[/b][/color]: if( $_GET['page'] == "dle-rules-page" ) if( $do != [color=#ff0000][b]"register"[/b][/color] ) { [color=#ff8c00][b]Стало[/b][/color]: if( $_GET['page'] == "dle-rules-page" ) if( $do != [color=#ff0000][b]$config['register'][/b][/color] ) { [/spoiler]
[code]$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>" );[/code]
и заменить на:
[code]$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>" );[/code]
[spoiler][color=#ff8c00][b]Было[/b][/color]: $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="[color=#ff0000][b]register[/b][/color]" /><input name="dle_rules_accept" type="hidden" id="dle_rules_accept" value="yes" /></form>" ); [color=#ff8c00][b]Стало[/b][/color]: $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="[color=#ff0000][b]{$config['register']}[/b][/color]" /><input name="dle_rules_accept" type="hidden" id="dle_rules_accept" value="yes" /></form>" ); [/spoiler] [color=#0000ff][b]5[/b][/color]) В файле /engine/modules/[color=#ff0000][b]register.php[/b][/color] найти строчки:
[code]$row['template'] = str_replace( "{%validationlink%}", $config['http_home_url'] . "index.php?do=register&amp;doaction=validating&amp;id=" . $idlink, $row['template'] );[/code]
и заменить на:
[code]$row['template'] = str_replace( "{%validationlink%}", $config['http_home_url'] . "index.php?do={$config['register']}&amp;doaction=validating&amp;id=" . $idlink, $row['template'] );[/code]
[spoiler][color=#ff8c00][b]Было[/b][/color]: $row['template'] = str_replace( "{%validationlink%}", $config['http_home_url'] . "index.php?do=[color=#ff0000][b]register[/b][/color]&amp;doaction=validating&amp;id=" . $idlink, $row['template'] ); [color=#ff8c00][b]Стало[/b][/color]: $row['template'] = str_replace( "{%validationlink%}", $config['http_home_url'] . "index.php?do=[color=#ff0000][b]{$config['register']}[/b][/color]&amp;doaction=validating&amp;id=" . $idlink, $row['template'] ); [/spoiler]
[code]<input name=\"do\" type=\"hidden\" id=\"do\" value=\"register\" />[/code]
и заменить на:
[code]<input name=\"do\" type=\"hidden\" id=\"do\" value=\"{$config['register']}\" />[/code]
[spoiler][color=#ff8c00][b]Было[/b][/color]: <input name="do" type="hidden" id="do" value="[color=#ff0000][b]register[/b][/color]" /> [color=#ff8c00][b]Стало[/b][/color]: <input name="do" type="hidden" id="do" value="[color=#ff0000][b]{$config['register']}[/b][/color]" /> [/spoiler]
[code]msgbox( $lang['all_info'], $lang['confirm_ok'] . " <a href=\"" . $config['http_home_url'] . "index.php?do=register&amp;doaction=validating&amp;step=2&amp;id=" . rawurlencode( $_REQUEST['id'] ) . "\">" . $lang['reg_next'] . "</a>" );[/code]
и заменить на:
[code]msgbox( $lang['all_info'], $lang['confirm_ok'] . " <a href=\"" . $config['http_home_url'] . "index.php?do={$config['register']}&amp;doaction=validating&amp;step=2&amp;id=" . rawurlencode( $_REQUEST['id'] ) . "\">" . $lang['reg_next'] . "</a>" );[/code]
[spoiler][color=#ff8c00][b]Было[/b][/color]: msgbox( $lang['all_info'], $lang['confirm_ok'] . " <a href="" . $config['http_home_url'] . "index.php?do=[color=#ff0000][b]register[/b][/color]&amp;doaction=validating&amp;step=2&amp;id=" . rawurlencode( $_REQUEST['id'] ) . "">" . $lang['reg_next'] . "</a>" ); [color=#ff8c00][b]Стало[/b][/color]: msgbox( $lang['all_info'], $lang['confirm_ok'] . " <a href="" . $config['http_home_url'] . "index.php?do=[color=#ff0000][b]{$config['register']}[/b][/color]&amp;doaction=validating&amp;step=2&amp;id=" . rawurlencode( $_REQUEST['id'] ) . "">" . $lang['reg_next'] . "</a>" ); [/spoiler]
[code]<input name=\"do\" type=\"hidden\" id=\"do\" value=\"register\" />[/code]
и заменить на:
[CODE]<input name=\"do\" type=\"hidden\" id=\"do\" value=\"{$config['register']}\" />[/code]

[spoiler][color=#ff8c00][b]Было[/b][/color]:

<input name="do" type="hidden" id="do" value="[color=#ff0000][b]register[/b][/color]" />

[color=#ff8c00][b]Стало[/b][/color]:

<input name="do" type="hidden" id="do" value="[color=#ff0000][b]{$config['register']}[/b][/color]" />

[/spoiler]

[color=#0000ff][b]6[/b][/color]) В файле /[color=#ff0000][b]robots.txt[/b][/color] найти строчку [b]Disallow: /*do=register[/b] и удалить её.

[color=#0000ff][b]7[/b][/color]) Из всех файлов шаблона удалить старую ссылку на страницу регистрации, а в шаблоне [b]login.tpl[/b] использовать тег {registration-link} для вывода нашей новой ссылки для регистрации.

[b][i]Рекомендации:[/i][/b]

I) Если вы на своём сайте используете [b]reCAPTCHA[/b], то обязательно создайте для этой капчи персональный публичный и приватный ключи.

Сгенерировать ключи для своего сайта можно тут: http://www.google.com/recaptcha

После того, как ключи сгенерированы, их надо вставить в админке DLE в разделе "Настройка системы/[b]Настройки безопасности скрипта[/b]".

II) Обязательно используйте возможность стандартного модуля DLE - [b]Вопросы и ответы для защиты от спама [/b]( _http://ваш_домен/admin.php?mod=question ).

III) Включайте возможность комментирования новостей только зарегистрированным пользователям. Или вставляйте на свой сайт комментирование от Вконтакте и Facebook.

IV) Используйте стандартные функции DLE:

  1. [b]Отправлять комментарии на модерацию[/b]
  2. [b]Максимальное количество комментариев в сутки[/b]
  3. [b]Автоматическое удаление зарегистрированных пользователей[/b]
  4. [b]Разрешить регистрацию нескольких пользователей с одного IP[/b]
  5. [b]Ограничение на добавление комментариев на сайте после регистрации[/b]
  6. [b]Автоматический запрет комментирования новости по истечении указанного срока[/b]
  7. [b]Защита от флуда[/b]
  8. [b]и другие[/b]

[center]Пожалуйста, укажите в комментариях кто какие методы борьбы со спамом и массовой регистрацией использует на своих сайтах :rolleyes:[/center]

Изменено пользователем ZEOS.IN
5

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Прикол еще в том, что зачастую спамеры регятся не для того, чтобы что-либо коментить, а просто чтобы достать!

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пришлось выложить всю новость в текстовый файл, так как парсер форума портит код.

Вот тут всё верно: http://i.zeos.in/new_url_of_registration_page.txt

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо Zeos. По идее эту бы фичу в движок 9.8 установить, чтобы для каждого сайта была индивидуальная страница для регистрации, точно также как это делается с админ панелью. Тогда бы у Хрумероводов не было возможности автоматической одновременной регистрации на многих сайтах dle.

Изменено пользователем dakk
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

dakk, если это появится в DLE по умолчанию, то просто переделают эти спамилки и всё-равно можно будет обходить этот способ :)

Дайте знать, помог ли Вам этот способ от массовой регистрации ботов? :rolleyes:

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

dakk, если это появится в DLE по умолчанию, то просто переделают эти спамилки и всё-равно можно будет обходить этот способ :)

Дайте знать, помог ли Вам этот способ от массовой регистрации ботов? :rolleyes:

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

Изменено пользователем dakk
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сервис есть StopForumSpam с api, можно проверять по базе ip, e-mail, спамер или нет.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Интересно, если добавить в DLE генерирование случайной ссылки на страницу с регистрацией, это спасёт от ботов? Чтоб при нажатии на "Зарегистрироваться" генерировалась случайная ссылка и всегда разная.

P.S. То, что написал ZEOS.IN в первом сообщении, конечно хорошо, но вносить все эти изменения при каждом обновлении движка- это уж перебор :)

Изменено пользователем Mek
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

спасиюо изменил ) сделал как вы и написали. польза на лицо , на тестовом домене (который никто не знает) наконец то прекратилась рега . значит работает

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Mek, если сделать это стандартно в DLE, то когда переделают спам-программы - это уже не спасёт.

Как уже говорил Владимир, защита должна быть уникальна для каждого сайта. То-есть, каждый владелец сайта должен придумать какую-то хитрую защиту.

Mek, лучше вносить те изменения, которые в третьем сообщении: http://forum.dle-news.ru/index.php?showtopic=62184&view=findpost&p=309553 , так как парсер форума немного испортил код.

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Доброго времени суток. Извиняюсь, новичок в этом деле. 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>

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Все пункты вроде правильно сделал - если в адресной строке вбить ручками mysite.ru/?do=my_reg

Вам надо просто в Вашем шаблоне прописать ссылку на свою новую страничку регистрации. Либо выводить ссылку на регистрацию в файле login.tpl тегом {registration-link}

И где нужно использовать тег [registration-link] в файле login.tpl?

Не [registration-link], а {registration-link} - стандартный тег DLE

В login.tpl у Вас прописано всё верно.

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Премного благодарен. Все сделал как написано, надеюсь поможет

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

есть сайт с посещалкой в районе 60к, ранее ежедневно регилось десятки левых спаммерских аккаунтов.

боролся блокировкой айпишников и маской емейлов типа *@levoemilo.com.

в принципе, подавляющее большинство (я бы сказал процентов 60-70) спама идет из китая 112.*, 175.*

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

поэтому, поставил вчера вечером данный хак + сделал небольшие личные модификации в register.php

на текущий момент за период чуть менее суток - только регистрации нормальных людей

понаблюдаю за ситуацией и через пару дней отпишу подробнее!

Сергею респекты и уважуха!

Изменено пользователем prikindel
1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

dakk, если это появится в DLE по умолчанию, то просто переделают эти спамилки и всё-равно можно будет обходить этот способ :)

Дайте знать, помог ли Вам этот способ от массовой регистрации ботов? :rolleyes:

Мне помогло, боты больше не беспокоят :P Спасибо большое автору....

:huh:

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

отписываюсь, как и обещал: прошло больше трех суток, ботов нет.

только в логах вижу тщетные обращения к ?do=register :)

несколько раз всплывали спам комменты от зарегистрировавшихся ранее, но волшебная кнопка "спам" спасает)

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

только в логах вижу тщетные обращения к ?do=register :)

Я вот думаю, может после такого обращения ip адресок сразу проверять в базе спамеров и банить.

У меня после этого открывают попеременно 2 последние статьи раз 5 в цикле и получая пустую страницу сваливают.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Wanderers,

примерно та же фигня. последним двум новостям накручивают под +10к просмотров)))

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

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Wanderers,

примерно та же фигня. последним двум новостям накручивают под +10к просмотров)))

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

На небольших проектах все решаемо, и в таблицу писать и на stopforumspam по api слазить вполне можно, а вот с большим кол-вом посещений уже надо смотреть что делать и пробовать варианты.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

После установки данного ХАКА, если можно так назвать, у меня появилась проблема

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

Я уж было обрадовался, думал от ботов избавился, тишина в регистратуре, а оказывается что у меня и юзеры не смогли зарегаться.

Временно отключил расширенную регистрацию, но это не выход, нужно как то исправить, помогите пожалуйста!

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

svadbavsurgute,

криво вставил код.

все там отлично работает с расширенной регистрацией

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

у меня впринципе не встал данный код..

вверху страницы выскакивает теперь


if ( $metatags['header_title'] ) $metatags['title'] = stripslashes($metatags['header_title'].$page_extra);

и шрифты увеличились.

все перепроверил, ставил по инструкции.

м.б. на ДЛЕ 9.8. что-то подругому надо ставить

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

на 9.8. все прекрасно работает, я же писал, что на нескольких сайтах установил и протестировал в течение 2х месяцев

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

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас