Файл: users/login.php
Строк: 77
<?
include('../core/core.php');
include(MAINDIR.'style/head.php');
switch ($mode):
case 'index':
title('Авторизация');
echo'<div class="title">Авторизация</div>';
echo'<div class="menu">
<form action="?mode=input" method="post">
Логин:<br />
<input name="login" type="text" size="30" maxlength="20" /><br />
Пароль:<br />
<input name="pass" type="password" size="30" maxlength="32" /><br />
<input type="checkbox" name="save" value="1"> Запомнить меня<br>
<input name="" type="submit" value="Войти" /><br />
</form>
</div>
<div class="menu">
Вы можете сделать закладку для быстрого входа, она будет иметь вид:<br />
<input name="" type="text" value="http://'.SITE.'/?login=Ваш_Логин&pass=Ваш_Пароль" style="width:97%;/>
</div>
<div class="menu">
» <a href="?mode=last">Забыли пароль?</a><br />
» <a href="reg.php">Регистрация</a><br />
» <a href="/">На главную</a>
</div>';
break;
case 'input':
title('Авторизация');
echo'<div class="title">Авторизация</div>';
echo'<div class="menu">';
$get_login = check($_POST['login']);
$get_pass = check($_POST['pass']);
if(!empty($get_login) && !empty($get_pass)){
$pass = sha1(md5(md5(sha1($get_pass))));
$user = DB::run() -> queryFetch("SELECT * FROM `users` WHERE `login`=? LIMIT 1",array($get_login));
if(!empty($user['login']) && $pass == $user['pass']){
$save = check($_REQUEST['save']);
if($save == 1){
setcookie("login",$user['login'],time()+(86400 * 30),'/');
setcookie("pass",$user['pass'],time()+(86400 * 30),'/');
} else {
setcookie("login",$user['login'],time()+3600,'/');
setcookie("pass",$user['pass'],time()+3600,'/');
}
$ip = preg_replace('|[^0-9.]|', '', $_SERVER['REMOTE_ADDR']);
DB::run() -> query("UPDATE `users` SET `last`=?,`ip`=? WHERE `login`=?",array(times(),$ip,$user['login']));
header ('location: /');
}
}
echo'Пароль/логин введен неверно!';
echo'</div>';
break;
case 'last':
title('Востановление пароля');
echo'<div class="title">Востановление пароля</div>';
echo'<div class="menu"><form action="?mode=chek" method="post">
Ваш логин:<br />
<input name="login" type="text" maxlength="30" /><br />
Спец.Код:<br />
<input name="code_pass" type="text" maxlength="8" /><br />
<img src="/sys/capatcha.php"><br />Введите код:<br />
<input type="text" name="code" value="" size="4" maxlength="4" /><br />
<input name="" type="submit" value="Продолжить" />
</form></div>';
break;
case 'chek':
title('Востановление пароля');
echo'<div class="title">Востановление пароля</div><div class="menu">';
$code = check($_POST['code']);
$code_pass = check($_POST['code_pass']);
$login = check($_POST['login']);
if($code == !NULL && $login == !NULL){
if($code == $_SESSION['getkode']){
if(!preg_match("/([^a-zA-Z0-9-])/", $login)){
$qe = DB::run() -> query("SELECT `users` FROM `users` WHERE `login`=?",array($login));
if($qe -> rowCount() > 0){
$q = DB::run() -> queryFetch("SELECT `users` FROM `users` WHERE `login`=? LIMIT 1",array($login));
if($q['code_pass'] == $code_pass){
if($q['lost_pass_time'] <= time()){
if(!empty($q['login'])){
echo gen_code(8);
$cos = $_SESSION['gener'];
$my = sha1(md5(md5(sha1($cos))));
$time=time() + (3600 * 12);
DB::run() -> query("UPDATE `users` SET `pass`=?,`lost_pass_time`=? WHERE `login`=? LIMIT 1",array($my,$time,$q['login']));
$mst = 'Здравствуйте, '.$q['login'].'
Вами была произведена операция по восстановлению пароля на сайте http://'.SITE.'
Новый пароль От вашего аккаунта: '.$cos.'
Если это письмо попало к вам по ошибке или вы не собираетесь восстанавливать пароль, то просто проигнорируйте его';
$tit ='Подтверждение восстановления пароля на сайте http://'.SITE.'';
addmail($q['mail'],$tit, $mst);
echo 'Письмо с инструкцией по востановлению пароля успешно выслано на E-mail указанный в профиле<br />';
echo 'Внимательно прочтите письмо и выполните все необходимые действия для восстановления пароля<br />';
echo 'Восстанавливать пароль можно не чаще чем раз в 12 часов';
} else {echo'Ошибка! Пользователь с данным логином не зарегестрирован!'; }
} else {echo'Ошибка! С момента последнего восстановления пароля прошло менее 12 часов!'; }
} else {echo'Спец. Код неверный!'; }
} else {echo'Такого логина не существует!'; }
} else {echo'Логин введен неправельно!'; }
} else {echo'Неверый код с картинки!'; }
} else {echo'Все поля должны быть заполнены!'; }
echo'</div>';
break;
default:
header ('location: ?mode=index');
endswitch;
include(MAINDIR.'style/foot.php');
?>