Вход Регистрация
Файл: system/inc/login.php
Строк: 62
<?php
/* 
    Appointment: Вход в панель управления
    File: login.php 
    Author: likan
    Engine: LIKAN
*/
if(!defined('MOZG'))
    die(
'Hacking attempt!');

header('Content-type: text/html; charset=utf-8');

$_IP $db->safesql($_SERVER['REMOTE_ADDR']);
$_BROWSER $db->safesql($_SERVER['HTTP_USER_AGENT']);

//Если делаем выход
if(isset($_GET['act']) AND $_GET['act'] == 'logout'){    
    
set_cookie("user_id"""0);
    
set_cookie("password"""0);
    
set_cookie("hid"""0);
    unset(
$_SESSION['user_id']);
    @
session_destroy();
    @
session_unset();
    
$logged false;
    
$user_info = array();
    
header("Location: {$admin_link}");
    die();
}

//Если есть данные сесии
if(isset($_SESSION['user_id']) > 0){
    
$logged true;
    
$logged_user_id intval($_SESSION['user_id']);
    
$user_info $db->super_query("SELECT user_id, user_email, user_group, user_password FROM `".PREFIX."_users` WHERE user_id = '".$logged_user_id."'");

    
//Если есть данные о сесии, но нет инфы о юзере, то выкидываем его
    
if(!$user_info['user_id'])
        
header("Location: {$admin_link}?act=logout");

//Если есть данные о COOKIE то проверяем
} elseif(isset($_COOKIE['user_id']) > AND $_COOKIE['password'] AND $_COOKIE['hid']){
    
$cookie_user_id intval($_COOKIE['user_id']);
    
$user_info $db->super_query("SELECT user_id, user_email, user_group, user_password, user_hid FROM `".PREFIX."_users` WHERE user_id = '".$cookie_user_id."' AND user_group = '1'");
    
    
//Если пароль и HID совпадает то пропускаем
    
if($user_info['user_password'] == $_COOKIE['password'] AND $user_info['user_hid'] == $_COOKIE['password'].md5(md5($_IP))){
        
$_SESSION['user_id'] = $user_info['user_id'];
        
        
//Вставляем лог в бд
        
$db->query("UPDATE `".PREFIX."_log` SET browser = '".$_BROWSER."', ip = '".$_IP."' WHERE uid = '".$user_info['user_id']."'");
        
        
$logged true;
    } else {
        
$user_info = array();
        
$logged false;
    }
} else {
    
$user_info = array();
    
$logged false;
}

//Если данные поступили через пост и пользователь не авторизован
if(isset($_POST['log_in']) AND !isset($_SESSION['user_id'])){

    
//Приготавливаем данные
    
$email $db->safesql(trim(htmlspecialchars(strip_tags($_POST['email']))));
    
$password GetVar($_POST['pass']);
    
    
//Проверяем правильность e-mail
    
if(!preg_match('/^(("[w-s]+")|([w-]+(?:.[w-]+)*)|("[w-s]+")([w-]+(?:.[w-]+)*))(@((?:[w-]+.)*w[w-]{0,66}).([a-z]{2,6}(?:.[a-z]{2})?)$)|(@[?((25[0-5].|2[0-4][0-9].|1[0-9]{2}.|[0-9]{1,2}.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2}).){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})]?$)/i'$email)){
        
$error_log 'Доступ отключён!';
    } else {
        
        
//Считаем кол-во символов в пароле и email
        
if(strlen($password) >= AND strlen($email) > 0){
            
$md5_pass md5(md5($password));
            
$check_user $db->super_query("SELECT user_id FROM `".PREFIX."_users` WHERE user_email = '".$email."' AND user_password = '".$md5_pass."' AND user_group = 1");

            
//Если есть юзер то пропускаем
            
if($check_user){
                
//Hash ID
                
$hid $md5_pass.md5(md5($_IP));
                    
                
//Устанавливаем в сессию ИД юзера
                
$_SESSION['user_id'] = intval($check_user['user_id']);
                        
                
//Обновляем хэш входа
                
$db->query("UPDATE `".PREFIX."_users` SET user_hid = '".$hid."' WHERE user_id = '".$check_user['user_id']."'");
                    
                
//Записываем COOKIE
                
set_cookie("user_id"intval($check_user['user_id']), 365);
                
set_cookie("password"$md5_pass365);
                
set_cookie("hid"$hid365);

                
header("Location: {$admin_link}");
            } else
                
$error_log 'Доступ отключён!';
        } else
            
$error_log 'Доступ отключён!';
    }
}

if(!
$logged){
    
echoheader();
    
echohtmlstart('Вход в панель управления');
    echo <<<HTML
<form method="POST" action="">
 <div class="fllogall">E-mail:</div><input type="text" name="email" class="inpu" />&nbsp; <font color="red">
{$error_log}</font>
 <div class="mgcler"></div>
 <div class="fllogall">Пароль:</div><input type="password" name="pass" class="inpu" />
 <div class="mgcler"></div>
 <div class="fllogall">&nbsp;</div><input type="submit" class="inp fl_l" name="log_in" value="Войти" style="margin-top:5px" />
</form>
<div class="clear"></div>
HTML;
    
echohtmlend();
} else {
    if(
$user_info['user_group'] == 1)
        include 
ADMIN_DIR.'/mod.php';
    else
        
msgbox('Информация''У вас недостаточно прав для просмотра этого раздела. <a href="'.$admin_link.'?act=logout">Выйти</a>''');
}
?>
Онлайн: 0
Реклама