Вход Регистрация
Файл: public_html/mail/lostpassword.php
Строк: 159
<?php
#-----------------------------------------------------#
#          ********* ROTORCMS *********               #
#              Made by  :  VANTUZ                     #
#               E-mail  :  visavi.net@mail.ru         #
#                 Site  :  http://pizdec.ru           #
#             WAP-Site  :  http://visavi.net          #
#                  ICQ  :  36-44-66                   #
#  Вы не имеете право вносить изменения в код скрипта #
#        для его дальнейшего распространения          #
#-----------------------------------------------------#    
require_once ('../includes/start.php');
require_once (
'../includes/functions.php');
require_once (
'../includes/header.php');
include_once (
'../themes/' . $config['themes'] . '/index.php');

if (isset(
$_GET['act'])) {
  
$act = check($_GET['act']);
} else {
  
$act = 'index';
} 

show_title('site.png', 'Восстановление пароля');
$config['newtitle'] = 'Восстановление пароля';

if (!
is_user()) {
  switch (
$act):
  
# ###########################################################################################
  # #                                    Главная страница                                    ##
  # ###########################################################################################
  
case 'index':

    if (isset(
$_COOKIE['cookname'])) {
      
$cookname = check($_COOKIE['cookname']);
    } else {
      
$cookname = "";
    } 

    echo 
'Введите свой логин<br />';
    echo 
'Инструкция по восстановлению будет выслана на электронный адрес указанный в профиле<br />';
    echo 
'Восстанавливать пароль можно не чаще чем раз в 12 часов<br /><br />';

    echo 
'<div class="form">';
    echo 
'<form method="post" action="lostpassword.php?act=remind&amp;' . SID . '">';
    echo 
'Логин:<br />';
    echo 
'<input name="uz" type="text" maxlength="20" value="' . $cookname . '" /><br />';
    echo 
'<input value="Продолжить" type="submit" /></form></div><br />';

    echo 
'Если у вас установлен секретный вопрос, вам будет предложено на него ответить<br /><br />';

    break;
  
# ###########################################################################################
  # #                                    Главная страница                                    ##
  # ###########################################################################################
  
case 'remind':

    if (isset(
$_POST['uz'])) {
      
$uz = check(strval($_POST['uz']));
    } else {
      
$uz = check(strval($_GET['uz']));
    } 

    if (!empty(
$uz)) {
      
$user = DB :: $dbh -> queryFetch("SELECT * FROM `users` WHERE `users_login`=? LIMIT 1;", array($uz));
      if (!empty(
$user)) {
        if (!empty(
$user['users_email'])) {
          echo 
'<b><big>Восстановление на e-mail:</big></b><br />';
          echo 
'<div class="form">';
          echo 
'<form method="post" action="lostpassword.php?act=send&amp;' . SID . '">';
          echo 
'Введите e-mail:<br />';
          echo 
'<input name="email" type="text" maxlength="50" /><br />';
          echo 
'Проверочный код:<br /> ';
          echo 
'<input name="provkod" size="6" maxlength="6" /> ';

          if (
$config['protectimg'] == 1) {
            echo 
'<img src="../gallery/protect.php?' . SID . '" alt="" /><br />';
          } else {
            echo 
'<b>' . $_SESSION['protect'] . '</b><br />';
          } 
          echo 
'<input name="uz" type="hidden" value="' . $uz . '" />';
          echo 
'<br /><input value="Восстановить" type="submit" /></form></div><br />';
        } 
        
// --------------------------------------------------------------//
        
if (!empty($user['users_secquest'])) {
          echo 
'<b><big>Ответьте на секретный вопрос:</big></b><br />';
          echo 
'<div class="form">';
          echo 
'<form method="post" action="lostpassword.php?act=answer&amp;' . SID . '">';

          echo 
$user['users_secquest'] . '<br />';
          echo 
'<input name="answer" type="text" maxlength="30" /><br />';

          echo 
'Проверочный код:<br /> ';
          echo 
'<input name="provkod" size="6" maxlength="6" /> ';

          if (
$config['protectimg'] == 1) {
            echo 
'<img src="../gallery/protect.php?' . SID . '" alt="" /><br />';
          } else {
            echo 
'<b>' . $_SESSION['protect'] . '</b><br />';
          } 

          echo 
'<input name="uz" type="hidden" value="' . $uz . '" />';
          echo 
'<br /><input value="Восстановить" type="submit" /></form></div><br />';
        } 

        if (empty(
$user['users_email']) && empty($user['users_secquest'])) {
          echo 
'<img src="../images/img/error.gif" alt="image" /> <b>Невозможно восстановить пароль!</b><br />';
          echo 
'Нет технической возможности восстановить пароль, так как у данного пользователя не указан адрес почтового ящика и не установлен секретный вопрос<br />';
          echo 
'Для того чтобы вернуть доступ к своему аккаунту необходимо связаться с администрацией сайта<br /><br />';
        } 
      } else {
        
show_error('Ошибка! Пользователь с данным логином не зарегестрирован!');
      } 
    } else {
      
show_error('Ошибка! Вы не ввели логин пользователя для восстановления!');
    } 

    echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="lostpassword.php?' . SID . '">Вернуться</a><br />';
    break;
  
# ###########################################################################################
  # #                            Подтверждение восстановления                                ##
  # ###########################################################################################
  
case 'send':

    
$uz = check(strval($_POST['uz']));
    
$email = check(strval($_POST['email']));
    
$provkod = abs(intval($_POST['provkod']));

    if (!empty(
$uz)) {
      if (!empty(
$email)) {
        if (
$_SESSION['protect'] == $provkod) {
          
$user = DB :: $dbh -> queryFetch("SELECT * FROM `users` WHERE `users_login`=? LIMIT 1;", array($uz));
          if (!empty(
$user)) {
            if (
$email == $user['users_email']) {
              if (
$user['users_timepasswd'] < SITETIME) {
                unset(
$_SESSION['protect']);

                
$restkey = generate_password();

                
DB :: $dbh -> query("UPDATE `users` SET `users_keypasswd`=?, `users_timepasswd`=? WHERE `users_login`=?;", array($restkey, SITETIME + 43200, $uz));
                
// ---------------- Инструкция по восстановлению пароля на E-mail --------------------------//
                
addmail($user['users_email'], "Подтверждение восстановления пароля на сайте " . $config['title'], "Здравствуйте, " . nickname($user['users_login']) . " nВами была произведена операция по восстановлению пароля на сайте " . $config['home'] . " nnДанные отправителя: nIp: $ip nБраузер: $brow nОтправлено: " . date('j.m.Y / H:i', SITETIME) . "nnДля того чтобы восстановить пароль, вам необходимо перейти по ссылке: nn" . $config['home'] . "/mail/lostpassword.php?act=restore&uz=" . $user['users_login'] . "&key=" . $restkey . " nnЕсли это письмо попало к вам по ошибке или вы не собираетесь восстанавливать пароль, то просто проигнорируйте его");

                echo 
'Письмо с инструкцией по востановлению пароля успешно выслано на E-mail указанный в профиле<br />';
                echo 
'Внимательно прочтите письмо и выполните все необходимые действия для восстановления пароля<br />';
                echo 
'Восстанавливать пароль можно не чаще чем раз в 12 часов<br /><br />';
              } else {
                
show_error('Ошибка! С момента последнего восстановления пароля прошло менее 12 часов!');
              } 
            } else {
              
show_error('Ошибка! Веденный вами адрес e-mail не совпадает с адресом в профиле!');
            } 
          } else {
            
show_error('Ошибка! Пользователь с данным логином не зарегестрирован!');
          } 
        } else {
          
show_error('Ошибка! Проверочное число не совпало с данными на картинке!');
        } 
      } else {
        
show_error('Ошибка! Не введен  адрес почтового ящика для восстановления!');
      } 
    } else {
      
show_error('Ошибка! Не введен  логин пользователя для восстановления!');
    } 

    echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="lostpassword.php?act=remind&amp;uz=' . $uz . '&amp;' . SID . '">Вернуться</a><br />';
    break;
  
# ###########################################################################################
  # #                                Восстановление пароля                                   ##
  # ###########################################################################################
  
case 'restore':

    
$uz = check($_GET['uz']);
    
$key = check($_GET['key']);

    if (!empty(
$uz)) {
      if (!empty(
$key)) {
        
$queryuser = DB :: $dbh -> query("SELECT * FROM `users` WHERE `users_login`=? LIMIT 1;", array($uz));
        
$user = $queryuser -> fetch();

        if (!empty(
$user)) {
          if (
$key == $user['users_keypasswd']) {
            
$newpass = generate_password();
            
$mdnewpas = md5(md5($newpass));

            
DB :: $dbh -> query("UPDATE `users` SET `users_pass`=?, `users_keypasswd`=?, `users_timepasswd`=? WHERE `users_login`=?;", array($mdnewpas, '', 0, $uz));

            echo 
'<b>Пароль успешно восстановлен!</b><br />';
            echo 
'Ваши новые данные для входа на сайт<br /><br />';

            echo 
'Логин: <b>' . $user['users_login'] . '</b><br />';
            echo 
'Пароль: <b>' . $newpass . '</b><br /><br />';

            echo 
'<img src="../images/img/open.gif" alt="image" /> ';
            echo 
'<b><a href="' . BASEDIR . 'input.php?login=' . $user['users_login'] . '&amp;pass=' . $newpass . '&amp;cookietrue=1&amp;' . SID . '">Вход на сайт</a></b><br /><br />';

            echo 
'Запомните и постарайтесь больше не забывать данные, а лучше сделайте сразу закладку на наш сайт ' . $config['home'] . '/input.php?login=' . $user['users_login'] . '&amp;pass=' . $newpass . '<br /><br />';

            echo 
'Пароль вы сможете поменять в своем профиле<br /><br />';
            
// --------------------------- Восстановлению пароля на E-mail --------------------------//
            
addmail($user['users_email'], "Восстановление пароля на сайте " . $config['title'], "Здравствуйте, " . nickname($user['users_login']) . " nВаши новые данные для входа на на сайт " . $config['home'] . " nЛогин: " . $user['users_login'] . " nПароль: " . $newpass . " nnЗапомните и постарайтесь больше не забывать данные, а лучше сделайте сразу закладку на наш сайт n" . $config['home'] . "/input.php?login=" . $user['users_login'] . "&pass=" . $newpass . " nПароль вы сможете поменять в своем профиле nВсего наилучшего!");
          } else {
            
show_error('Ошибка! Секретный код в ссылке не совпадает с данными в профиле!');
          } 
        } else {
          
show_error('Ошибка! Пользователь с данным логином не зарегестрирован!');
        } 
      } else {
        
show_error('Ошибка! Отсутствует секретный код в ссылке для восстановления пароля!');
      } 
    } else {
      
show_error('Ошибка! Отсутствует логин в ссылке для восстановления пароля!');
    } 
    break;
  
# ###########################################################################################
  # #                            Ответ на секретный вопрос                                   ##
  # ###########################################################################################
  
case 'answer':

    
$uz = check(strval($_POST['uz']));
    
$answer = check(strval($_POST['answer']));
    
$provkod = abs(intval($_POST['provkod']));

    if (!empty(
$uz)) {
      if (!empty(
$answer)) {
        if (
$_SESSION['protect'] == $provkod) {
          
$user = DB :: $dbh -> queryFetch("SELECT * FROM `users` WHERE `users_login`=? LIMIT 1;", array($uz));
          if (!empty(
$user)) {
            if (!empty(
$user['users_secquest'])) {
              if (
md5(md5($answer)) == $user['users_secanswer']) {
                unset(
$_SESSION['protect']);

                
$newpass = generate_password();
                
$mdnewpas = md5(md5($newpass));

                
DB :: $dbh -> query("UPDATE `users` SET `users_pass`=?, `users_keypasswd`=?, `users_timepasswd`=? WHERE `users_login`=?;", array($mdnewpas, '', 0, $uz));

                echo 
'<b>Пароль успешно восстановлен!</b><br />';
                echo 
'Ваши новые данные для входа на сайт<br /><br />';

                echo 
'Логин: <b>' . $user['users_login'] . '</b><br />';
                echo 
'Пароль: <b>' . $newpass . '</b><br /><br />';

                echo 
'<img src="../images/img/open.gif" alt="image" /> ';
                echo 
'<b><a href="' . BASEDIR . 'input.php?login=' . $user['users_login'] . '&amp;pass=' . $newpass . '&amp;cookietrue=1&amp;' . SID . '">Вход на сайт</a></b><br /><br />';

                echo 
'Запомните и постарайтесь больше не забывать данные, а лучше сделайте сразу закладку на наш сайт ' . $config['home'] . '/input.php?login=' . $user['users_login'] . '&amp;pass=' . $newpass . '<br /><br />';

                echo 
'Пароль вы сможете поменять в своем профиле<br /><br />';
              } else {
                
show_error('Ошибка! Ответ на секретный вопрос не совпадает с данными в профиле!');
              } 
            } else {
              
show_error('Ошибка! У данного пользователя не установлен секретный вопрос!');
            } 
          } else {
            
show_error('Ошибка! Пользователь с данным логином не зарегестрирован!');
          } 
        } else {
          
show_error('Ошибка! Проверочное число не совпало с данными на картинке!');
        } 
      } else {
        
show_error('Ошибка! Не введен ответ на секретный вопрос для восстановления!');
      } 
    } else {
      
show_error('Ошибка! Не введен логин пользователя для восстановления!');
    } 

    echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="lostpassword.php?act=remind&amp;uz=' . $uz . '&amp;' . SID . '">Вернуться</a><br />';
    break;

  default:
    
header("location: lostpassword.php?" . SID);
    exit;
    endswitch;
  } else {
  
show_error('Ошибка! Вы авторизованы, восстановление пароля невозможно!');
} 

echo 
'<img src="../images/img/homepage.gif" alt="image" /> <a href="../index.php?' . SID . '">На главную</a><br />';

include_once (
"../themes/" . $config['themes'] . "/foot.php");

?>
Онлайн: 2
Реклама