View file pages/new_pass.php

File size: 6.49Kb
<?php
include("../sistem/cfg.dat");
include("../sistem/global.dat");
include("../sistem/functions_mail.dat");
include("../temes/$teme/verh.dat");

echo'<div class="razd"><B>Запрос нового пароля</B></div>';

if(isset($_POST['uzer_login'])){$uzer_login = trim($_POST['uzer_login']);}////обозначили пост переменные
if(isset($_POST['uzer_mail'])){$uzer_mail = trim($_POST['uzer_mail']);}////обозначили пост переменные

if(isset($_GET['uzer_login'])){$uzer_login = trim($_GET['uzer_login']);}////обозначили гет переменные
if(isset($_GET['id'])){$id = trim($_GET['id']);}////обозначили гет переменные

if(empty($act)){$act="index";}
if($act == "index")
{
   echo'Введите свой логин и email который был указан в вашей анкете.<br><br>';
   
   echo'<form name="forma" action="new_pass.php?'.SID.'" method="post">';
   echo'<INPUT TYPE="hidden" NAME="act" VALUE="add">';
   echo'Логин<br>';
   echo'<input type="text" name="uzer_login" value="" size="10" maxlength="10"><br>';
   echo'Ваш действующий Email<br>';
   echo'<input type="text" name="uzer_mail" value="" size="10" maxlength="50"><br>';
   echo'<input type="submit" name="" value="Отправить"><br>';
   echo'</form>';
}

if($act == "add")
{
   
   if((@filemtime("../data/password/$uzer_login.dat") + 43200) < time())
   {
      
      if($uzer_cfg = file("../data/uzer/$uzer_login.dat"))
      {
         $uzer_cfg = explode("<||>",$uzer_cfg[0]);
         
         if($uzer_cfg[20] == $uzer_mail)
         {
            if(filter_var($uzer_cfg[20], FILTER_VALIDATE_EMAIL))
            {
               $id = md5(rand(00000000,99999999));
               $sit = htmlspecialchars($_SERVER['HTTP_HOST']);
               //создаём фаил
               $file_password = fopen("../data/password/$uzer_login.dat", "w+");
               flock ($file_password,LOCK_EX);
               fputs($file_password,$id);
               flock ($file_password,LOCK_UN);
               fclose($file_password);
               @chmod("../data/password/$uzer_login.dat", 0666);
               
               $txtmail ='Здравствуйте! Вы запросили востановление пароля для сайта '.$sit.'. Перейдите по ссылке для подтверждения запроса http://'.$sit.'/pages/new_pass.php?act=add2&uzer_login='.$uzer_login.'&id='.$id.' . Если вы не запрашивали востановление пароля, то просто проигнорируйте это письио!';
               addmail("$uzer_cfg[20]","Пароль от сайта $sit",$txtmail);
               echo'Вам на Email выслано письмо с дальнейшими инструкциями по востановлению пароля!<br>';
            }else
            {
               echo'Ошибка. Полученный Email не подходит для отправки!<br>';
            }
         }else
         {
            echo'Введённый Email не совпадает с Emeil который указан в анкете пользователя.<br>';
         }
      }else
      {
         echo'Пользователя с таким логином не найдено!<br>';
      }
   }else
   {
      echo'Запросы на востановление пароля можно делать не чаще чем раз в 12 часов!<br>';
   }
}

if($act == "add2")
{
   $uzer_login = str_replace(".","",$uzer_login);
   $uzer_login = str_replace("/","",$uzer_login);
   $uzer_login = str_replace("\0","",$uzer_login); 
   
   
   if($file_id = file_get_contents("../data/password/$uzer_login.dat"))
   {
      if($file_id == $id)
      {
         if($arr = file("../data/uzer/$uzer_login.dat"))
         {
            function generate_password($length)
            {
               if($length==""){$length=rand(10,12);}	
               $salt = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ0123456789";
               $len = strlen($salt);
               $makepass = '';
               for ($i = 0; $i < $length; $i++)
               {
                  $makepass .= $salt[mt_rand(0,$len - 1)];
               }
               return $makepass;
            }
            
            $arr = explode("<||>",$arr[0]);
            
            $new_pass = generate_password();
            $sit = htmlspecialchars($_SERVER['HTTP_HOST']);
            $txtmail ="Ваши новые данные для доступа к сайту $sit\n\nЛогин - $uzer_login\nПароль - $new_pass\n\nСайт - http://$sit/";
            addmail("$arr[20]","Логин и пароль к сайту $sit",$txtmail);
            
            $kod=''.md5(md5($new_pass)).'<||>'.$arr[1].'<||>'.$arr[2].'<||>'.$arr[3].'<||>'.$arr[4].'<||>'.$arr[5].'<||>'.$arr[6].'<||>'.$arr[7].'<||>'.$arr[8].'<||>'.$arr[9].'<||>'.$arr[10].'<||>'.$arr[11].'<||>'.$arr[12].'<||>'.$arr[13].'<||>'.$arr[14].'<||>'.$arr[15].'<||>'.$arr[16].'<||>'.$arr[17].'<||>'.$arr[18].'<||>'.$arr[19].'<||>'.$arr[20].'<||>'.$arr[21].'<||>'.$arr[22].'<||>'.$arr[23].'<||>'.$arr[24].'<||>'.$arr[25].'<||>'.$arr[26].'<||>'.$arr[27].'<||>'.$arr[28].'<||>'.$arr[29].'<||>'.$arr[30].'<||>'.$arr[31].'<||>'.$arr[32].'<||>'.$arr[33].'<||>'.$arr[34].'<||>'.$arr[35].'<||>'.$arr[36].'<||>'.$arr[37].'<||>';
            $file_login_data = fopen("../data/uzer/$uzer_login.dat", "w+");
            flock ($file_login_data,LOCK_EX);
            fputs($file_login_data,$kod);
            flock ($file_login_data,LOCK_UN);
            fclose($file_login_data);
            @chmod("$koren_dir/data/uzer/$uzer_login.dat", 0666);
            
            echo'Ваши новые данные высланы вам на Email<br>';
         }else
         {
            echo'Ошибка! Повторите запрос на востановление пароля.';
         }
      }else
      {
         echo'Ошибка! Повторите запрос на востановление пароля.<br>';
      }
   }else
   {
      echo'Ошибка! Повторите запрос на востановление пароля.<br>';
   }
   unlink("../data/password/$uzer_login.dat");
}


echo'<a href="../index.php?'.SID.'">На главную</a><br>';

include("../sistem/global_end.dat");
include("../temes/$teme/niz.dat");
?>