Файл: lost.php
Строк: 82
<?php
define('GCMS',true);
define('ROOT','./');
require_once (ROOT.'system/lite_power.php');
if ($aut == false) {
$adm_m='lostpass@'.$_SERVER['SERVER_NAME'];
switch($do) {
///Сверяем данные
case 'relost':
$diz -> head('Восстановление пароля');
$diz -> title('Восстановление пароля');
$user_m = $db -> query("Select `id`,`email`,`login` FROM `users` WHERE `id` = '".$id."'");
if ($user_m -> num_rows > 0) {
$user=$user_m-> fetch_assoc();
$report = $db -> query("Select * FROM `report` WHERE `user` = '".$id."' and `name` = '".$mode."'");
if ($report -> num_rows > 0) {
$report=$report-> fetch_assoc();
$db -> query("DELETE FROM `report` WHERE `user` = '".$user['id']."' and `type`='lost'");
$array = array('1','2','3','4','5','6','7','8','9','Q','W','E','R','T','Y','U','I','P','A','S','D','F','G','H','J','K','L','Z','X','C','V','B','N','M');
$i = 0;
$cod = '';
while ($i < 6) {
$cod .= $array[array_rand($array)];
++$i;
}
$pass=$cod;$passnew=md5(md5($pass));
$theme= 'Новый пароль';
$tex='<b>'.$user['login'].'</b>,Здравствуйте!<br />
Вами была санкционирована операция восстановления пароля на сайте <b>'.$_SERVER['SERVER_NAME'].'</b><br />
Ответ на ваше действие был выполнен <b>'.date('d.m.Y в H:i:s',time()).'</b><br/>
Ваш новый пароль: <b>'.$pass.'</b><br/>
Рекомендуем сохранить его или записать!
<br />---------------------------------<br />
Данное сообщение создано автоматически(программно) с сайта <br />
'.$_SERVER['SERVER_NAME'].',ответа на него не требуется!';
$header.="From: "".$adm_m."" <".$adm_m.">n";
$header.="Subject: ".$theme."n";
$header.="Content-type: text/html; charset="utf-8"n";
if(mail($user['email'],$theme,$tex,$header)==true){
$db -> query("Update `users` SET `pass` = '".$passnew."' where `id`='$user[id]'");
$db -> query("DELETE FROM `report` WHERE `id` = '".$report['id']."'");
echo'<div class="fon">Новый пароль отправлен вам на почту!</div>';
}else{
echo'<div class="fon">Произошла ошибка при отправке пароля!</div>';
}
}else {$msg.='<div class="fon">Данных о вашей заявке на восстановление пароля-необнаружено</div>';}
}else {$msg.='<div class="fon">Ваш аккаунт был не найден или был удалён</div>';}
echo '<div class="levo"><a href="/" class="levo_tuch">'.$diz -> img('home.png').' На главную</a></div>';
#####Копирайт#######
$diz -> out($msg);
break;
//поиск пользователя и его эмайла
case 'load':
switch($mode) {
case 'lost':
$diz -> head('Восстановление пароля');
$diz -> title('Восстановление пароля');
$user_m = $db -> query("Select `id`,`login`,`email` FROM `users` WHERE `id` = '".$id."' and `email`<>''");
if ($user_m -> num_rows > 0) {
$user=$user_m-> fetch_assoc();
$db -> query("DELETE FROM `report` WHERE `user` = '".$user['id']."' and `type`='lost'");
$array = array('1','2','3','4','5','6','7','8','9','Q','W','E','R','T','Y','U','I','P','A','S','D','F','G','H','J','K','L','Z','X','C','V','B','N','M');
$i = 0;
$cod = '';
while ($i < 12) {
$cod .= $array[array_rand($array)];
++$i;
}
$rand=$cod;
$db -> query("INSERT INTO `report` SET `user` = '".$user['id']."', `name` = '".$rand."',`type` = 'lost',`time` = '".time()."'");
$d=$db -> insert_id;
$report= $db -> query("Select * FROM `report` WHERE `id` = '".$d."'")-> fetch_assoc();
$theme= 'Восстановление пароля';
$tex='<b>'.$user['login'].'</b>,Здравствуйте!<br />
Вы пытались восстановить пароль на нашем сайте <b>'.$_SERVER['SERVER_NAME'].'</b><br />
Если же вы не восстанавливали пароль,<br />
то скорее всего вас пытаются взломать,<i>удалите это письмо и не выполняйте действия,которые указаны ниже!</i><br />
Если вас всё же взломали,напишите администрации ресурса '.$_SERVER['SERVER_NAME'].'!<br />
Для дальнейшего восстановления пароля вам необходимо перейти по проверочной ссылке,<br/>
после чего на ваш почтовый ящик придёт новый пароль!<br/>
Просто перейдите по ссылке <a href="http://'.$_SERVER['SERVER_NAME'].'/lost.php?do=relost&id='.$report['user'].'&mode='.$report['name'].'">http://'.$_SERVER['SERVER_NAME'].'/lost.php?do=relost&id='.$report['user'].'&mode='.$report['name'].'</a>
<br/>
Ссылка на восстановление пароля действительна до '.date('d.m.Y H:i:s',$report['time']+259200).'
<br />---------------------------------<br />
Данное сообщение создано автоматически(программно) с сайта <br />
'.$_SERVER['SERVER_NAME'].',ответа на него не требуется!';
$header.="From: "".$adm_m."" <".$adm_m.">n";
$header.="Subject: ".$theme."n";
$header.="Content-type: text/html; charset="utf-8"n";
if(mail($user['email'],$theme,$tex,$header)==true){
echo'<div class="fon">На ваш почтовый адрес '.$user['email'].' была выслана инструкция по восстановлению пароля!</div>';}
else{echo'<div class="fon">Произошла ошибка при отправке!</div>';}
}else{
echo'<div class="fon">Произошла ошибка в поиске нужного пользователя!</div>';
}
echo '<div class="levo"><a href="lost.php" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
echo '<div class="levo"><a href="/" class="levo_tuch">'.$diz -> img('home.png').' На главную</a></div>';
#####Копирайт#######
$diz -> out($msg);
break;
default:
if($_POST['code'] != $_SESSION['code'])
{
$diz -> head('Ошибка проверочного кода');
$diz -> title('Ошибка');
$msg.='<div class="fon">Не введен или введен не верно проверочный код!</div>';
echo '<div class="levo"><a href="lost.php" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
$diz -> out($msg);
} else {
$diz -> head('Восстановление пароля');
$diz -> title('Восстановление пароля');
if(preg_match("/[0-9]+/i",$_POST['login'])){$lost='id';}else{$lost='login';}
$login = shit($_POST['login']);
$count = $db -> query("Select * FROM `users` WHERE `$lost` = '".$login."' and `email` <> ''");
if ($count -> num_rows > 0) {
$count=$count-> fetch_assoc();
echo '<div class="fon">Вы подтверждаете восстановление пароля и то что данный email принадлежит вам?</br>
На email <b>'.$count['email'].'</b> будет выслано сообщение с инструкцией восстановления</br>
<a href="./lost.php?id='.$count['id'].'&do=load&mode=lost">Подтверждаю</a> | <a href="./lost.php">Не подтверждаю</a></div>';
echo '<div class="levo"><a href="lost.php" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
echo '<div class="levo"><a href="/" class="levo_tuch">'.$diz -> img('home.png').' На главную</a></div>';
#####Копирайт#######
$diz -> out($msg);
} else {
echo '<div class="fon">Пользователь не найден или не был указан email!</div>';
echo '<div class="levo"><a href="lost.php" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
echo '<div class="levo"><a href="/" class="levo_tuch">'.$diz -> img('home.png').' На главную</a></div>';
#####Копирайт#######
$diz -> out($msg);
}
}
}
break;
///////////////////////////
default:
$_SESSION['code'] = $func->capcha();
$diz -> head('Восстановление пароля');
$diz -> title('Восстановление пароля');
echo '<div class="fon">Если вы утеряли свой пароль,то вы можете восстановить его!</br>Для этого в анкете должен быть указан ваш реальный и доступный email!<hr>';
echo '<form action="lost.php?do=load" method="POST"><div>';
echo 'Ваш ID/Ник:<br/><input type="text" name="login" value="" maxlength="12"/></br>Введите код:'.$diz -> img('code.php').'
<br/><input type="text" name="code" value="" maxlength="4"/></br>
<input type="submit" name="submit" value="Восстановить"/>
</div></form></div>';
echo '<div class="levo"><a href="/" class="levo_tuch">'.$diz -> img('home.png').' На главную</a></div>';
#####Копирайт#######
$diz -> out($msg);
}
} else {
header('location: ./index.php');
}
?>