Файл: xmyx.ru/pass.php
Строк: 170
<?
include_once 'sys/inc/start.php';
include_once 'sys/inc/compress.php';
include_once 'sys/inc/sess.php';
include_once 'sys/inc/home.php';
include_once 'sys/inc/settings.php';
include_once 'sys/inc/db_connect.php';
include_once 'sys/inc/ipua.php';
include_once 'sys/inc/fnc.php';
include_once 'sys/inc/shif.php';
$show_all=true; // показ для всех
include_once 'sys/inc/user.php';
only_unreg();
$set['title']='Забыли ник или пароль?';
include_once 'sys/inc/thead.php';
title();
if (isset($_POST['nick']) && isset($_POST['mail']) && $_POST['nick']!=NULL && $_POST['mail']!=NULL)
{
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `nick` = '".my_esc($_POST['nick'])."'"), 0)==0)
{
$err = "Пользователь с таким логином не зарегистрирован";
}
elseif (mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `nick` = '".my_esc($_POST['nick'])."' AND `ank_mail` = '".my_esc($_POST['mail'])."'"), 0)==0)
{
$err ='Неверный адрес E-mail или информация о E-mail отсутствует';
}
else
{
$q = mysql_query("SELECT * FROM `user` WHERE `nick` = '".my_esc($_POST['nick'])."' LIMIT 1");
$user2 = mysql_fetch_assoc($q);
$new_sess=substr(md5(passgen()), 0, 20);
$subject = "Восстановление пароля";
$regmail = "Здравствуйте $user2[nick]<br />
Вы активировали восстановление пароля<br />
Для установки нового пароля перейдите по ссылке:<br />
<a href='http://$_SERVER[HTTP_HOST]/pass.php?id=$user2[id]&set_new=$new_sess'>http://$_SERVER[HTTP_HOST]/pass.php?id=$user2[id]&set_new=$new_sess</a><br />
Данная ссылка действительна до первой авторизации под своим логином ($user2[nick])<br />
С уважением, администрация сайта<br />
";
$adds="From: "password@$_SERVER[HTTP_HOST]" <password@$_SERVER[HTTP_HOST]>n";
//$adds = "From: <$set[reg_mail]>n";
//$adds .= "X-sender: <$set[reg_mail]>n";
$adds .= "Content-Type: text/html; charset=utf-8n";
mail($user2['ank_mail'],'=?utf-8?B?'.base64_encode($subject).'?=',$regmail,$adds);
mysql_query("UPDATE `user` SET `sess` = '$new_sess' WHERE `id` = '$user2[id]' LIMIT 1");
msg("Ссылка для установки нового пароля отправлена на e-mail "$user2[ank_mail]"");
}
}
if (isset($_GET['id']) && isset($_GET['set_new']) && strlen($_GET['set_new'])==20 &&
mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `id` = '".intval($_GET['id'])."' AND `sess` = '".my_esc($_GET['set_new'])."'"), 0)==1)
{
$q = mysql_query("SELECT * FROM `user` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1");
$user2 = mysql_fetch_assoc($q);
if (isset($_POST['pass1']) && isset($_POST['pass2']))
{
if ($_POST['pass1']==$_POST['pass2'])
{
if (strlen2($_POST['pass1'])<6)$err='По соображениям безопасности новый пароль не может быть короче 6-ти символов.';
if (strlen2($_POST['pass1'])>32)$err='Длина пароля превышает 32 символа.';
}
else $err='Новый пароль не совпадает с подтверждением.';
if (!isset($err)){
setcookie('id_user', $user2['id'], time()+60*60*24*365);
mysql_query("UPDATE `user` SET `pass` = '".shif($_POST['pass1'])."' WHERE `id` = '$user2[id]' LIMIT 1");
setcookie('pass', cookie_encrypt($_POST['pass1'],$user2['id']), time()+60*60*24*365);
msg('Пароль успешно изменен.');
}
}
err();
?>
<div class="lc_br wbg font0 relative oh" id="header_path"> <a href="/" style="font-size:0;"> <img src="/style/i/lb/home.png" alt=""> </a> <span class="lc_brw"> <img src="/style/i/lb/sep.png" alt="" class="lc_br_sep"> <span class="lc_br_text">Забыли ник или пароль?</span> </span> </div>
<div class="wrapper">
<div class="block t_center b upcs pdb"> Забыли ник или пароль? </div>
<form action="/pass.php?id=<?= $user2['id']?>&set_new=<?= esc($_GET['set_new'],1)?>&<?= $passgen?>" method="post">
<div class="block error_wrapper pdb"> <div> <div class="input-txt_wrapper">
<input placeholder="Ваш ник" class="input-txt" disabled="disabled" name="nick" value="<?= $user2['nick']?>" maxlength="87" type="text">
</div> </div> </div>
<div class="block error_wrapper pdb"> <div> <div class="input-txt_wrapper">
<input placeholder="Новый пароль" class="input-txt" name="pass1" value="" maxlength="87" type="password">
</div> </div> </div>
<div class="block error_wrapper pdb"> <div> <div class="input-txt_wrapper">
<input placeholder="Подтверждение:" class="input-txt" name="pass2" value="" maxlength="87" type="password">
</div> </div> </div>
<div class="block"> <div>
<!-- --><!-- --><!-- --><!-- --><!-- -->
<button type="submit" value="Продолжить" class=" submit_link link full green-full " id="cfms">
<!-- --><img src="/style/i/shared_white.png" alt="" class="m"> <!-- --><span class="m"> Продолжить</span>
<!-- -->
</button>
<!-- --><!-- -->
</div> </div>
</form>
</div>
<?
echo "<form action='/pass.php?id=$user2[id]&set_new=".esc($_GET['set_new'],1)."&$passgen' method="post">n";
echo "Логин:<br />n";
echo "<input type="text" disabled='disabled' value='$user2[nick]' maxlength="32" size="16" /><br />n";
echo "Новый пароль:<br />n<input type='password' name='pass1' value='' /><br />n";
echo "Подтверждение:<br />n<input type='password' name='pass2' value='' /><br />n";
echo "<input type='submit' name='save' value='Изменить' />n";
echo "</form>n";
}
else
{
err();
?>
<div class="lc_br wbg font0 relative oh" id="header_path"> <a href="/" style="font-size:0;"> <img src="/style/i/lb/home.png" alt=""> </a> <span class="lc_brw"> <img src="/style/i/lb/sep.png" alt="" class="lc_br_sep"> <span class="lc_br_text">Забыли ник или пароль?</span> </span> </div>
<div class="wrapper">
<div class="block t_center b upcs pdb"> Забыли ник или пароль? </div>
<form action="?<?= $passgen?>" method="post">
<div class="block error_wrapper pdb"> <div> <div class="input-txt_wrapper">
<input placeholder="Ваш ник" class="input-txt" name="nick" value="" maxlength="87" type="text">
</div> </div> </div>
<div class="block error_wrapper pdb"> <div> <div class="input-txt_wrapper">
<input placeholder="Ваш E-mail" class="input-txt" name="mail" value="" maxlength="87" type="text">
</div> </div> </div>
<div class="block"> <div>
<!-- --><!-- --><!-- --><!-- --><!-- -->
<button type="submit" value="Продолжить" class=" submit_link link full green-full " id="cfms">
<!-- --><img src="/style/i/shared_white.png" alt="" class="m"> <!-- --><span class="m"> Продолжить</span>
<!-- -->
</button>
<!-- --><!-- -->
</div> </div>
</form>
<div class="block pdt">На ваш e-mail придет ссылка для установки нового пароля.<br /> Если у вас в анкете отсутствует запись о вашем e-mail, восстановление пароля невозможно.</a>. </div>
</div>
<?
}
include_once 'sys/inc/tfoot.php';
?>