Ошибка!!
$e
Вернуться назад
HTML; exit($html); } $u = Db::getRow( 'select users.id, users.login, auth, pass, totp, users.ip, ipreg, admin, online, banned, users_delo.text as block_reason from users left join users_delo on users.id = users_delo.uid where users.login = ?', [$login] ); if (empty($_SESSION['login'])) { if (!isset($u['id'])) { error('Логин "' . $login . '" не найден в базе.'); } elseif ($u['banned'] > 0) { $blockstr = "Персонаж {$u['login']} заблокирован."; $blockstr .= $u['block_reason'] ? "Причина блокировки: {$u['block_reason']}

" : '

'; error($blockstr); } elseif (!Password::isGood($password, $u['pass'], $u['login'])) { Db::sql( 'insert into logs_auth (uid, ip, browser, type, time) values (?,?,?,3,unix_timestamp())', [$u['id'], IP, $_SERVER['HTTP_USER_AGENT']] ); error("Неверный пароль к персонажу {$u['login']}."); } $_SESSION['login'] = $u['login']; if (!empty($u['totp'])) { $_SESSION['totp'] = new TOTP($u['totp']); } } if (!empty($_SESSION['totp']) && !empty($_SESSION['login'])) { if (empty($otp)) { ?> Второй пароль


generate() !== $otp) { unset($_SESSION['login'], $_SESSION['totp']); error('Неверный одноразовый код!'); } } if (!Db::getValue('select count(*) from stats where id = ?', [$u['id']])) { Db::sql('insert into stats (id, stats) values (?,?)', [$u['id'], 's1=3|s2=3|s3=3|s4=3|rinv=40|m9=5|m6=10']); } if (!Db::getValue('select count(*) from online where uid = ?', [$u['id']])) { Db::sql('insert into online (uid, timeStart) values (?,unix_timestamp())', [$u['id']]); } if (isset($_COOKIE['login'])) { setcookie('login', '', time() - 60 * 60 * 24, '', Config::get('host')); } //мульты if ($u['admin'] === 0) { $ipm1 = Db::getValue( 'select ip from logs_auth where uid = ? and ip != ? order by id limit 1', [$u['id'], $u['ip']] ); $ppl = Db::getRows( 'select * from logs_auth where ip != ? and (ip = ? or ip = ? or ip = ? or ip = ? or ip = ?)', ['', $u['ip'], $ipm1, $u['ipreg'], IP, $_COOKIE['ip']] ); foreach ($ppl as $item) { $ml = Db::getValue( 'select id from mults where (uid = ? and uid2 = ?) or (uid = ? and uid2 = ?) limit 1', [$item['uid'], $u['id'], $u['id'], $item['uid']] ); if (!$ml && $item['ip'] !== '' && $item['ip'] !== '127.0.0.1') { Db::sql('insert into mults (uid, uid2, ip) VALUES (?,?,?)', [$u['id'], $item['uid'], $item['ip']]); } } } if (isset($_COOKIE['ip']) && $_COOKIE['ip'] != IP) { Db::sql( 'insert into logs_auth (uid, ip, browser, type, time) VALUES (?,?,?,1,unix_timestamp())', [$u['id'], $_COOKIE['ip'], $_SERVER['HTTP_USER_AGENT']] ); } setcookie('login', $_POST['login'] ?? '', time() + 60 * 60 * 24 * 7, '', Config::get('host')); setcookie('ip', IP, time() + 60 * 60 * 24 * 150, ''); if ($u['online'] < time() - 520) { $sp = Db::getRows('select room, login from users where online > unix_timestamp() - 600 and id in (select user from friends where friend = ?)', [$u['id']]); foreach ($sp as $usr) { $chatDto = new ChatMessage(); $chatDto->setRoom($usr['room']); $chatDto->setTo($usr['login']); $chatDto->setText('Вас приветствует: ' . $u['login'] . '.'); $chatDto->setType(6); $chat->sendMsg($chatDto); } } $apu = ''; Db::sql('update dump set ver = 1, upd = 2 where uid = ?', [$u['id']]); if ( $u['auth'] != md5($u['login'] . 'AUTH' . IP) || $_COOKIE['auth'] != md5($u['login'] . 'AUTH' . IP) || $u['auth'] == '' || $u['auth'] == '0' ) { if ( $u['auth'] != '' && $u['auth'] != '0' && $u['ip'] != IP ) { $cmsg = new ChatMessage(); $cmsg->setTo($u['login']); $cmsg->setText('В предыдущий раз этим персонажем заходили с другого компьютера ' . date('d.m.Y H:i', $u['online']) . "(Предыдущий ip: %{$u['ip']})"); $cmsg->setType(6); $chat->sendMsg($cmsg); } $apu = "auth = '" . md5($u['login'] . 'AUTH' . IP) . "',"; setcookie('auth', md5($u['login'] . 'AUTH' . IP), time() + 60 * 60 * 24 * 365, '', Config::get('host')); } $ipnew = IP; Db::sql('insert into logs_auth (uid, ip, browser, time) values (?,?,?,unix_timestamp())', [ $u['id'], IP, $_SERVER['HTTP_USER_AGENT'], ]); Db::sql("update users set $apu ip = ?, dateEnter = ?, online = unix_timestamp() where id = ?", [$ipnew, $_SERVER['HTTP_USER_AGENT'], $u['id']]); $_SESSION['uid'] = $u['id']; unset($_SESSION['login'], $_SESSION['totp']); header('location: /bk'); exit();