14.05.13, 12:00
2 комментарий
  DLE Хаки

Защита DLE от регистрации спамеров

Защита DLE от регистрации спамеров...

1. Открываем файл engine/modules/register.php и ищем в нём:

if( $sec_code != $sec_code_session or ! $sec_code_session ) $stop .= $lang['reg_err_19'];


после этого вставляем:
if(empty($_POST['mark'])){
          $stop .= "Выберите кружок!";
    } else {
        if($_POST['mark'] != $_SESSION['codes']){
            $stop .= "Выбран Неверный кружок! Ботам тут не место!!! :)";
        }
    }


2. Далее ищем :
if( $doaction != "validating" and ! $stopregistration ) {
    
    if( $_POST['dle_rules_accept'] == "yes" ) {
        
        @session_register( 'dle_rules_accept' );
        $_SESSION['dle_rules_accept'] = "1";
    
    }


после вставляем:
// 
    $mark = mt_rand(1,7);
    $marks = array ("Первый" => "1", "Второй" => "2", "Третий" => "3", "Четвёртый" => "4", "Пятый" => "5", "Шестой" => "6", "Седьмой" => "7");
    $marks_check = array_search($mark, $marks);
    
//
    $_SESSION['codes'] = $mark;


3. Ищем:
if( $config['allow_sec_code'] == "yes" ) {
        $tpl->set( '[sec_code]', "" );
        $tpl->set( '[/sec_code]', "" );
        $tpl->set( '{reg_code}', "{$lang['reload_code']}" );


Прямо перед
} else {,


вставляем:
$tpl->set( '{mark}', "$marks_check" );


4. Ищем:
} else {
            $tpl->set( '{reg_code}', "" );


после вставляем:
$tpl->set( '{mark}', "" );


5. Открываем файл templates/Ваш шаблон/registration.tpl и между тегами [/sec_code] и [/registration], вставляете:
Дополнительная защита от спамеров

Если вы Человек, то выберите {mark} кружок!
                            
                            
Выберите кружок:
                1
                2 3
                4 5
                6 7

Комментарии

  1. Pepsi 14 июля 2013 22:13                    

    хотел распечатать статью, нажал на принтер..а там
    Template not found: /templates/Lite_Style_Orange/print.tpl

  1. ToNik Пользователь offline 14 июля 2013 22:16                    

    Цитата: Pepsi
    хотел распечатать статью, нажал на принтер..а там
    Template not found: /templates/Lite_Style_Orange/print.tpl

    Сейчас посмотрю...
    После переезда что то нарушилось...
    Спасибо за информацию! (:

Напишите своё мнение