Файл: 4mast/profmas.ru/remind.php
Строк: 43
<?php
require_once('includes/Headers.php');
require_once('includes/PDO_func.php');
if ($us == true) {
header ('location: /');
exit;
}
H ('Форум Wap мастеров, программистов, дизайнеров, кодеров и администраторов!', 'Восстановление пароля');
switch($_GET['do']) {
case 'check':
if (empty($_GET['key'])) {
header ('location: /remind.php');
exit;
}
$query = DB :: $dbs -> query ("SELECT * FROM `pass` WHERE (`key`=?)", array (htmlspecialchars($_GET['key'])));
if ($query -> rowCount () == 0) {
header ('location: /remind.php');
exit;
}
$pass = $query -> fetch ();
if ((time () - $pass['t']) > 86400) {
echo '<div class="error"><b>Ключ не действителен!</b></div>';
} else {
$b = DB :: $dbs -> queryFetch ("SELECT * FROM `us` WHERE (`id`=?)", array ($pass['us']));
$p = gen(6);
DB :: $dbs -> query ("UPDATE `us` SET `pass`=? WHERE (`id`='" . $pass['us'] . "')", array (md5($p)));
$subject = 'Новый пароль';
$text .= 'Здравствуйте ' . $b['nick'] . '<br/>';
$text .= 'Ваш новый пароль: '.$p.'<br/>';
$adds = "From: "support@4mast.ru" <support@4mast.ru>n";
$adds .= "content-type: text/html; charset=utf-8n";
mail ($b['email'], '=?utf-8?B?' . base64_encode ($subject) . '?=', $text, $adds);
echo '<div class="access"><b>Новый пароль выслан Вам на E-mail!</b></div>';
DB :: $dbs -> query ("DELETE FROM `pass` WHERE (`us`='" . $pass['us'] . "')");
}
break;
case 'ok':
if (!isset($_POST['id'])) {
header ('location: /remind.php');
exit;
}
$query = DB :: $dbs -> query ("SELECT * FROM `us` WHERE (`nick`=?)", array(htmlspecialchars(trim($_POST['id']))));
if ($query -> rowCount () == 0) {
header ('location: /remind.php');
exit;
}
$u = $query -> fetch ();
$key = md5(gen(6));
DB :: $dbs -> query ("INSERT INTO `pass` (`us`,`key`,`t`) VALUES ('" . $u['id'] . "', '" . $key . "', '" . time () . "')");
$subject = 'Восстановление пароля';
$text .= 'Здравствуйте ' . $u['nick'] . '<br/>';
$text .= 'Для установки нового пароля перейдите по ссылке: <a href="http://'.$_SERVER['HTTP_HOST'].'/remind.php?do=check&key=' .$key . '">http://'.$_SERVER['HTTP_HOST'] .'/remind.php?do=check&key=' . $key . '</a><br/>';
$text .= 'Ключ действителен в течение 24 часов после отправки на email!<br/>';
$text .= '----------------<br/>';
$text .= 'Запрос отправлен с IP-адреса: ' . IP() . ' <br/>';
$text .= 'Если вы не запрашивали восстановление пароля, просьба проигнорировать и удалить данное сообщение<br/>';
$text .= 'С Уважением, администрация проекта!<br />';
$adds = "From: "support@4mast.ru" <support@4mast.ru>n";
$adds .= "content-type: text/html; charset=utf-8n";
mail ($u['email'], '=?utf-8?B?' . base64_encode ($subject) . '?=', $text, $adds);
echo '<div class="list1"><b>Инструкции по установке нового пароля отправлены на указанный при регистрации email!</b></div>';
break;
default:
echo '<div class="list1">';
echo '<form method="post" action="remind.php?do=ok">';
echo 'Ваш ник:<br/><input name="id"/><br/>';
echo '<input type="submit" value="Восстановить" />';
echo '</form>';
echo '</div>';
break;
}
echo ' <a href="/login/auth" class="block"><img src="'.$img.'" alt="*"/> Авторизация</a></div>
<a href="/login/reg" class="block"><img src="'.$img.'" alt="*"/> Регистрация</a></div>';
require_once('includes/Footers.php');
?>