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

Провеббер » DataLife Engine » DLE хаки » Регистрация без ботов

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

Регистрация без ботов

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

Регистрация без ботов

Версии DLE: 8.x

Лирика: Все мы знаем - ссылки регистрации не прячутся под ЧПУ (независимо от настройки ЧПУ), что, конечно, некрасиво, но терпимо, но вот то, что об этом осведомлен каждый тупой бот - вызывает гораздо больше раздражений...

Описание: Данный хак позволяет не только скрыть все ссылки регистрации под ЧПУ, но и обезопасить себя от ботов.

Действий немного. Начнем:

!!!ВНИМАНИЕ!!!
В данном примере к ссылкам регистрации будет добавлено значение "_999", которое можно изменить в зависимости от фантазии, но обязательно по всему тексту хака.



1. В файле .htaccess, после строчки:
RewriteEngine On


Вставить:
#Регистрация без ботов
RewriteRule ^register(/?)+$ index.php?do=register_rtiavto [L]
RewriteRule ^register/validating/(.*)(/?)+$ index.php?do=register_rtiavto&doaction=validating&id=$1 [L]
RewriteRule ^register/validating/nextstep/(.*)(/?)+$ index.php?do=register_rtiavto&doaction=validating&step=2&id=$1 [L]




2. В файле \engine\init.php,
I. вместо строчки:
$link_regist = ($config['ajax']) ? $PHP_SELF . "?do=register" onclick="DlePage('do=register'); return false;" : $PHP_SELF . "?do=register";


Вставить:
$link_regist = ($config['ajax']) ? $config['http_home_url'] . "register/" onclick="DlePage('do=register_999'); return false;" : $config['http_home_url'] . "register/";



II. вместо строчки:
$link_regist = ($config['ajax']) ? $PHP_SELF . "?do=register" onclick="DlePage('do=register'); return false;" : $PHP_SELF . "?do=register";


Вставить:
$link_regist = ($config['ajax']) ? $PHP_SELF . "?do=register_999" onclick="DlePage('do=register_999'); return false;" : $PHP_SELF . "?do=register_999";




3. В файле \engine\engine.php
I. вместо строки:
case "register" :


Вставить:
case "register_999" :



II. вместо строки:
elseif ($do == 'register') $nam_e = $lang['title_register']; 


Вставить:
elseif ($do == 'register_999') $nam_e = $lang['title_register']; 




3. В файле \engine\modules\register.php
I. вместо строки:
$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'] . "register/validating/{$idlink}/" , $row['template'] );



II. вместо строки:
$tpl->copy_template = "<form  method="post" name="registration" onsubmit="if (!check_reg_daten()) {return false;};" id="registration" action="" . $config['http_home_url'] . "index.php?do=register">n" . 
tpl->copy_template . " <input name="submit_reg" type="hidden" id="submit_reg" value="submit_reg" /> </form>";


Вставить:
$tpl->copy_template = "<form  method="post" name="registration" onsubmit="if (!check_reg_daten()) {return false;};" id="registration" action="" . $config['http_home_url'] . "register/">n" . 
$tpl->copy_template . " <input name="submit_reg" type="hidden" id="submit_reg" value="submit_reg" /> </form>";


III. вместо строки:
msgbox( $lang['all_info'], $lang['confirm_ok'] . "<br /><br /><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'] . "<br /><br /><a href="" . $config['http_home_url'] . "register/validating/".rawurlencode($_REQUEST['id']) . "/nextstep/" . "">" . $lang['reg_next'] . "</a>" ); 



IV. вместо строки:
<input name="do" type="hidden" id="do" value="register" />;


Вставить:
<input name="do" type="hidden" id="do" value="register_999" />;




4. В файле \engine\modules\static.php
I. вместо строки:
if( $_GET['page'] == "dle-rules-page" ) if( $do != "register" ) {


Вставить:
if( $_GET['page'] == "dle-rules-page" ) if( $do != "register_999" ) {



II. вместо строки:
$tpl->set( '{ACCEPT-DECLINE}', "<form  method="post" name="registration" id="registration" action="" . $config['http_home_url'] . "index.php?do=register"><input type="submit" class="bbcodes" value="{$lang['rules_accept']}" />&nbsp;&nbsp;&nbsp;<input type="button" class="bbcodes" value="{$lang['rules_decline']}" onclick="history.go(-1); return false;" /><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="" . $config['http_home_url'] . "register/"><input type="submit" class="bbcodes" value="{$lang['rules_accept']}" />&nbsp;&nbsp;&nbsp;<input type="button" class="bbcodes" value="{$lang['rules_decline']}" onclick="history.go(-1); return false;" /><input name="dle_rules_accept" type="hidden" id="dle_rules_accept" value="yes" /></form>" );




Идем по ссылке http://www.sitename.ru/register/ и наслаждаемся результатом.

Проверено на версии 8.5, но будет работать и на более ранних.
Всем спасибо и удачи!


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


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

#1Bagner

  • 22 апреля 2010 08:03
  • Регистрация: 27.11.2009
  • Был(а) онлайн: 16.07.2013
  • Комментариев: 308
  • 0
Это как раз то что надо для варезняков ))))

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

#2garri83

  • 22 апреля 2010 09:10
  • Регистрация: 27.11.2009
  • Был(а) онлайн: 7.05.2018
  • Комментариев: 30
  • 0
Буду пробовать может поможет.

#3kaybox

  • 22 апреля 2010 09:12
  • Регистрация: 1.02.2010
  • Был(а) онлайн: 13.10.2014
  • Комментариев: 57
  • 0
а не проще добавить дополнительный вопрос и всё

#4Roma17

  • 22 апреля 2010 09:41
  • Регистрация: 6.12.2009
  • Был(а) онлайн: 12.08.2013
  • Комментариев: 187
  • 0
Цитата: kaybox
а не проще добавить дополнительный вопрос и всё


ТЫ добавиш вопрос разработчики софта добавят програме распознавание поля -)

#5kaybox

  • 22 апреля 2010 10:07
  • Регистрация: 1.02.2010
  • Был(а) онлайн: 13.10.2014
  • Комментариев: 57
  • 0
Roma17,
так а если добавить много вопросов? сколько читал комментов говорят что помогает доп вопрос, себе пока не ставил т.к. пока наплыва вроде нету роботов

#6pernatik

  • 25 апреля 2010 08:33
  • Регистрация: 4.02.2010
  • Был(а) онлайн: 5.05.2014
  • Комментариев: 122
  • 0
Лучше капчу поставить продвинутую (точнее сказать легче)

#7Fred777

  • 9 мая 2010 13:01
  • Регистрация: 13.03.2010
  • Был(а) онлайн: 11.01.2014
  • Комментариев: 3
  • 0
Спасибо, хороший способ. Но есть и лучше.

#8JakeNigga

  • 16 мая 2010 17:36
  • Регистрация: 12.05.2010
  • Был(а) онлайн: 22.05.2010
  • Комментариев: 3
  • 0
нихуя не работает!

Из-за вас сейчас надо три часа сидеть заново на место всё ставить! mad
new_russian

Original: Huxy9I He Pa6oTaeT !!!!!
Translate: ( Нихуя не работает! )

beee beee beee beee beee beee beee
beee beee beee beee beee beee beee




Parse error: syntax error, unexpected T_STRING in /home/мой_сайт/domains/m-soml.com/public_html/engine/init.php on line 326
Вот что вылазит! Я не заменя _999
Строчка №326 выглядит так:


$link_regist = ($config['ajax']) ? $config['http_home_url'] . "register/"

#9nsdss

  • 16 мая 2010 17:46
  • Регистрация: 10.01.2010
  • Был(а) онлайн: 13.03.2015
  • Комментариев: 457
  • 0
JakeNigga, Вообще-то всегда
нужно сохранять копии. У меня, например тоже не пошел хак, так как изменений много уже внесено, но я, как взравомыслящий человек, предварительно сделал дамп изменяемых файлов.

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

#10JakeNigga

  • 16 мая 2010 17:47
  • Регистрация: 12.05.2010
  • Был(а) онлайн: 22.05.2010
  • Комментариев: 3
  • 0
onclick="DlePage('do=register_999'); return false;" : $config['http_home_url'] . "register/";
что не так?

#11fasol

  • 2 декабря 2010 17:53
  • Регистрация: 31.01.2010
  • Был(а) онлайн: 15.10.2015
  • Комментариев: 77
  • 0
JakeNigga, об стену вымазанную ядом!

Тебе английским языком написано: syntax error, unexpected T_STRING = ошибка синтаксиса, неопознанный элемент.

Кавычку последнюю нахрена экранировал?

#12qttqttq22

  • 18 мая 2011 20:14
  • Регистрация: 13.12.2010
  • Был(а) онлайн: 3.09.2011
  • Комментариев: 15
  • 0
ну что тут поделаешь глупенький он ахах biggrin

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

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

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