Вход Регистрация
Файл: modules/auth.php
Строк: 101
<?php
define
('SHCMS_ENGINE',true);
include_once(
'../engine/system/core.php');
engine::auth();
$templates->template(Lang::__('Авторизация'));


$_IP engine::get_ip();
$time time();
$hash_login '';
$error = array();
$AboutGuest = new AboutGuest;

    if( isset(
$_POST['submit'])) {
    
        
$login $db->safesql(filter_inputINPUT_POST'nick'FILTER_SANITIZE_STRING ) );
        
$password $db->safesql(filter_input(INPUT_POST'password'FILTER_SANITIZE_STRING) );
        
        if( 
engine::strlen_shcms$login,'utf-8' ) > 30 or engine::strlen_shcmstrim$login ), 'utf-8' ) < 3$error['nick'][] = 'Недопустимая длина ника. Логин должен быть больше 3 символов и меньше 30 символов!';
        if( 
preg_match"/[||'|<|>|[|]|"|!|?|$|@|/|\|&~*{+]/", $login ) ) $error['nick'][] = 'Введенный ник Недопустим';
        if( strlen(
$password) < 5 ) $error['password'][] = 'Пароль должен быть выше 5 символов';
        if( strpos( strtolower( 
$login ), '.php' ) !== false )  $error['nick'][] =  'Введенный ник недопустим';
        if( stripos( urlencode(
$login), '%AD') !== FALSE) {
                        
$error['nick'][] = 'Введенный ник недопустим';
                    }
        if(empty(
$error)) {
        
$userl = $db->query( "SELECT FROM `usersWHERE `nick` = '{$login}' LIMIT 1" );
            if(
$db->num_rows($userl)) {
                
$user_aut = $db->get_array($userl);
                    
                    if(engine::shgen(
$password) == $user_aut['password']) {
                        
                        // Если все проверки прошли удачно, подготавливаем вход на сайт
                        if (isset(
$_POST['code'])) {
                            // Установка данных COOKIE
                            
$cuser_id = base64_encode($user_aut['id']);
                            
$cpassword = engine::shgen($password);
                            setcookie("
cuser_id_shcms", $cuser_id, time() + 3600 * 24 * 365);
                            setcookie("
cpassword_shcms", $cpassword, time() + 3600 * 24 * 365);
                        }
                        // Установка данных сессии
                        
$_SESSION['user_id_shcms'] = $user_aut['id'];
                        
$_SESSION['password_shcms'] = engine::shgen($password);    
                        
                    header("
Location: ../index.php");                        
            }else{

                
$user_auth = $db->get_array($db->query("SELECT FROM `usersWHERE `nick` = '{$login}'"));
                if(
$user_auth['limit_auth'] >= $glob_core['un_auth']) {
                    die( engine::error( Lang::__('Ваша учетная запись заблокирована на 5 минут!') ) );
                }else {
                    
$db->query("UPDATE `usersSET `limit_auth` = '".($user_aut['limit_auth']+1)."',`limit_time` = '".(time()+60*5)."' WHERE `id` = '".$user_auth['id']."'");
                    
$db->query("INSERT INTO `log_authSET `id_user` = '".intval($user_auth['id'])."',
                                                                       `
ip` = INET_ATON('".$AboutGuest->ip."'), 
                                                                       `
browser` = '".$AboutGuest->browser."',
                                                                       `
version_browser` = '".$AboutGuest->version."',
                                                                       `
oc` = '".$AboutGuest->operating_system."',
                                                                       `
version_oc` = '".$AboutGuest->os_version."',
                                                                       `
time` = '".time()."'");}                                                       
                    
                    echo engine::error(Lang::__('Вход не произведён! Возможно, вы ввели неверный Логин или Пароль'));
                    echo engine::home(array(Lang::__('Назад'),'auth.php')); //Переадресация
                    exit();
            }
            
            }
        }    
    
    }

//Форма авторизации
echo '<div class="
mainname">'.Lang::__('Авторизация').'</div>';
echo '<div class="
mainpost"><ul class="list_data clearfix">';

    
$form = new form('?');
    
$form->text('<li class="clear clearfix">');
    
$form->text('<span class="row_title regstyle">'.Lang::__('Логин').':</span>');
    
$form->text('<span class="row_data">');
    
$form->input2(false,'nick','text',htmlspecialchars($login),'placeholder="Введите логин"');
    if(isset(
$error['nick'])) {
        
$form->text('<p class="text-error small">'.implode('<br/>', $error['nick']).'</p>');
    }       
    
$form->text('</span></li>'); 
    
$form->text('<li class="clear clearfix">');
    
$form->text('<span class="row_title regstyle">'.Lang::__('Пароль').':</span>');
    
$form->text('<span class="row_data">');    
    
$form->input2(false,'password','password',false,'placeholder="Введите пароль"');
    if(isset(
$error['password'])) {
        
$form->text('<p class="text-error small">'.implode('<br/>', $error['password']).'</p>');
    }       
    
$form->text('</span></li>');
        
$form->text('<li class="clear clearfix">');
    
$form->text('<span class="row_title regstyle">'.Lang::__('Запомнить').':</span>');
    
$form->text('<span class="row_data">');    
    
$form->input2(false,'code','checkbox','1');
         
$form->text('</span></li><div class="form-actions">');
    
$form->submit('Авторизация','submit',false,'btn btn-primary');
     
$form->text('<a class="btn btn-warning" href="/modules/lostpass.php">Восстановление</a>');
    
$form->display();

echo '</div></ul></div>';
Онлайн: 1
Реклама