Навигация
Главная
Бесплатные шаблоны dle
Платные шаблоны dle
Бесплатные модули dle
Хаки dle
Скачать DataLife Engine
Заработок для Web мастеров
Контакты
Rss
Вход на сайт
  Логин
  Пароль
Популярные новости
Реклама

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

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


Версии 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, но будет работать и на более ранних.
Всем спасибо и удачи!

Автор: webman

26 апреля 2010 добавил Mebius
     просмотров 4544   комментариев (1)

написал A11igator    22 сентября 2010 00:27   



 Группа: Посетители
 Регистрация: 17.08.2008
 Публикаций: 0
 Комментариев: 3
да чувак, ты пьяный был?! очень и очень криво написано! больше половины ручками правим.


        

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














Rambler's Top100

Яндекс цитирования