Вход Регистрация
Файл: login.php
Строк: 87
<?php

include_once 'sys/inc/start.php';
include_once 
'sys/inc/sess.php';
include_once 
'sys/inc/home.php';
include_once 
'sys/inc/settings.php';
include_once 
'sys/inc/db_connect.php';
include_once 
'sys/inc/ipua.php';
include_once 
'sys/inc/fnc.php';
include_once 
'sys/inc/shif.php';
$show_all true// показ для всех
$input_page true;
include_once 
'sys/inc/user.php';

only_unreg();

$_SESSION['aut_captcha']++;
lang::start('login');

if (isset(
$_GET['id']) && isset($_GET['pass']) && $set['avto_login_set'] == 1) {
    
$cnt $db->query('SELECT COUNT(*) FROM `user` WHERE `id`=?i AND `pass`=? LIMIT ?i',
                    [
$_GET['id'], shif($_GET['pass']), 1])->el();
    if ((int)
$cnt == 1) {
        
$user get_user($_GET['id']);
        
$_SESSION['id_user'] = $user['id'];

        
$db->query('UPDATE `user` SET `date_aut`=?i, `date_last`=?i WHERE `id`=?i LIMIT ?i', [time(), time(), $user['id'], 1]);
        
$db->query('INSERT INTO `user_log` (`id_user`, `time`, `ua`, `ip`, `method`)
VALUES(?i, ?i, ?, ?i, ?)'
, [$user['id'], $time$ua$user['ip'], '0']);
    } else {
        
$err[] = lang('Неправильный логин или пароль');
    }
} elseif (isset(
$_GET['id']) && isset($_GET['pass']) && $set['avto_login_set'] == 0) {
    
$err[] = lang('Автологин отключен!');
}
/*elseif (isset($_POST['aut_save'],$_POST['nick']) and $_POST['chislo'] != $_SESSION['captcha'])
$err[] = lang('Код с картинки введен не верно');*/
elseif (isset($_POST['nick']) && isset($_POST['pass'])) {
    
$cnt $db->query('SELECT COUNT(*) FROM `user` WHERE `nick`=? AND `pass`=? LIMIT ?i',
                      [
$_POST['nick'], shif($_POST['pass']), 1])->el();
    if ((int)
$cnt == 1) {
        
$user $db->query('SELECT `id`, `hash_set`, `ua`, `ip`, `set_them`, `set_them2` FROM `user` WHERE `nick`=? AND `pass`=? LIMIT ?i',
                           [
$_POST['nick'], shif($_POST['pass']), 1])->row();

        
$_SESSION['id_user'] =$user['id'];

        
$db->query('INSERT INTO `user_log` (`id_user`, `time`, `ua`, `ip`, `method`)
VALUES(?i, ?i, ?, ?i, ?string)'
, [$user['id'], $time$ua$user['ip'], '1']);

    
// сохранение данных в COOKIE
    
if (isset($_POST['aut_save']) && $_POST['aut_save']) {
        
setcookie('id_user'$user['id'], time() + 60*60*24*365);
        
setcookie('pass'cookie_encrypt($_POST['pass'], $user['id']), time() + 60*60*24*365);
    }

        if (
$set['antihah_hash'] == && $user['hash_set'] == 1) {
            
$hash ' `hash`="' md5(md5($ip md5($ua) . $user['id'])) . '",';
        } else {
            
$hash '';
        }

        
$db->query('UPDATE `user` SET ?q `date_aut`=?i, `date_last`=?i  WHERE `id`=?i LIMIT 1',
               [
$hash$time$time$user['id']]);
    } else {
        
$err[] = lang('Неправильный логин или пароль');
    }
} elseif (isset(
$_COOKIE['id_user'], $_COOKIE['pass']) && $_COOKIE['id_user'] && $_COOKIE['pass']) {
    
cache_delete::user($_COOKIE['id_user']);
    
$hash_set $db->query('SELECT `hash_set` FROM `user` WHERE `id`=?i', [$_COOKIE['id_user']])->row();

    if (
$set['antihah_hash'] == && (int)$hash_set['hash_set'] == 1) {
        
$hash ' `hash`= "' md5(md5($ip md5($ua) . $_COOKIE['id_user'])) . '" AND ';
    } else {
        
$hash '';
    }
    
$cnt $db->query('SELECT COUNT(*) FROM `user` WHERE ?q `id`=?i AND `pass`=? LIMIT ?i',
                      [
$hash$_COOKIE['id_user'], shif(cookie_decrypt($_COOKIE['pass'], intval($_COOKIE['id_user']))), 1])->el();
    if ((int)
$cnt == 1) {
        
$user get_user($_COOKIE['id_user']);
        
$_SESSION['id_user'] = $user['id'];
        
$db->query('UPDATE `user` SET `date_aut`=?i, `date_last`=?i WHERE `id`=?i LIMIT ?i', [time(), time(), $user['id'], 1]);
        
$db->query('INSERT INTO `user_log` (`id_user`, `time`, `ua`, `ip`, `method`)
VALUES(?i, ?i, ?, ?i, ?)'
, [$user['id'], $time$ua$user['ip'], '2']);

        
$user['type_input'] = 'cookie';
    } else {
        
$err[] = lang('Ошибка авторизации по COOKIE');
        
setcookie('id_user');
        
setcookie('pass');
    }
} else {
    
$err[] = lang('Ошибка авторизации');
}

if (!isset(
$user)) {
    
$set['title'] = lang('Авторизация');
    include_once 
'sys/inc/thead.php';
    
title() . aut() . err();

    
header('Refresh: 1; url=/aut.php');

    echo 
'<div class="p_m">';
    echo 
'<a href="/aut.php?">' lang('Повторить попытку входа') . '</a><br />';
    echo 
'</div>';
    include_once 
'sys/inc/tfoot.php';
    exit;
}

$set['title'] = lang('Дайджест');
$_SESSION['aut_captcha'] = 0;

if (
$set['web']) { // для web темы
    
if (is_dir(H'style/themes/' $user['set_them2'])) {
        
$set['set_them'] = $user['set_them2'];
    } else {
        
$db->query('UPDATE `user` SET `set_them2`=? WHERE `id`=?i LIMIT ?i',
                   [
$set['set_them2'], $user['id'], 1]);
    }
} else {
    if (
is_dir('style/themes/' $user['set_them'])) {
        
$set['set_them'] = $user['set_them'];
    } else {
        
$db->query('UPDATE `user` SET `set_them`=? WHERE `id`=?i LIMIT ?i',
                   [
$set['set_them'], $user['id'], 1]);
    }
}

    
//Загрузка дополнительных плагинов
    
$Search glob('sys/login/*.php');
    foreach (
$Search as $load_plugins) {
        
sort($Search);
        include_once 
$load_plugins;
    }

if (isset(
$_GET['return'])) {
    
header('Location: ' urldecode($_GET['return']));
} else {
    
#    включаем модуль возврата
    
if ($set['aut_ref'] == && isset($_SESSION['ref_loc'])) {
        exit(
header("Location: " $_SESSION['ref_loc'] . "?&aut_ref"));
    } else {
        exit(
header("Location: /user/start"));
    }
}

exit;
Онлайн: 2
Реклама