Файл: repass.php
Строк: 110
<?php
define('PROTECTOR', 1);
$textl='Восстановление пароля';
include('files/db.php');
include('files/auth.php');
include('files/head.php');
if ($user_id=='1'){
echo'<div class="v2 bts brs bls bbs p t1">Вы авторизованы!</div>';
include('files/dwn2.php');exit;
}else{
echo'<div class="line bbs m bts brs bls b p v12">Восстановление пароля</div><div class="bat bts brs bls bbs p t1">';
switch($_GET[mod]){
default:
if(empty($_POST[login])){
echo '<form action="repass.php?" method="post">';
echo" Логин:<br/>
<input class='input' type="text" size="15" name="login"/><br/>";
echo" Email:<br/>
<input class='input' type="text" size="15" name="email"/><br/>";
echo '<input class="button" type="submit" value="Отправить" /></form><br></div>';
echo '<a href=/><div class="v2s brs bls bbda p"><img src=img/main/i25.png class="menu"> На главную</div></a>';
}else{
$_POST[login] = addslashes("$_POST[login]");
$_POST[login] = htmlspecialchars($_POST[login]);
$_POST[email] = addslashes("$_POST[email]");
$_POST[email] = htmlspecialchars($_POST[email]);
$usr = mysql_fetch_array(mysql_query("SELECT * FROM users WHERE usr = '$_POST[login]' LIMIT 1"));
$usr[email]=strtolower($usr[email]);
$_POST[email]=strtolower($_POST[email]);
if($_POST[email] == "")
{
echo "Вы оставили пустое поле!<br/>";
echo "<a href="repass.php">Назад</a></div>";
include('files/dwn2.php');exit;
}
elseif($_POST[login] == "")
{
echo "Вы оставили пустое поле!<br/>";
echo "<a href="repass.php">Назад</a></div>";
include('files/dwn2.php');exit;
}
elseif (!preg_match('/^[^@]*@[^@]*.[^@]*$/i',$_POST[email])){
echo'Неверный формат Email<br/>';
echo "<a href="repass.php">Назад</a></div>";
include('files/dwn2.php');exit;
}
elseif($usr[email]!= $_POST[email])
{
echo "Такой пары логина и email несуществует!<br/>";
echo "<a href="repass.php">Назад</a></div>";
include('files/dwn2.php');exit;
}
elseif($_SESSION[newpasskol]>2)
{
echo "Количество попыток исчерпано!<br/>";
echo "<a href="repass.php">Назад</a></div>";
include('files/dwn2.php');exit;
}
$_SESSION[newpasskol]=$_SESSION[newpasskol]+1;
$keys = md5(rand(1000, 9999));
$subject = "Восстановление пароля sidonia.ru";
$regmail = "Здравствуйте $usr[usr]<br />
Для установки нового пароля перейдите по ссылке:<br />
http://$_SERVER[HTTP_HOST]/repass.php?mod=new&key=$keys <br />
Данная ссылка действительна до первой авторизации под своим логином ($usr[usr])<br />
С уважением, Администрация онлайн игры Хранители Сидонии.<br />
";
$adds="From: "support@sidonia.ru" <support@sidonia.ru>n";
$adds .= "Content-Type: text/html; charset=utf-8n";
mail($usr['email'],$subject,$regmail,$adds);
mysql_query("INSERT INTO
`newpass` SET `key` = '$keys', `login` = '$usr[usr]' ");
echo"Информация по восстановлению проля выслана на ваш Email!
";
echo "<br/><a href="/">Далее</a></div>";
}
break;
case 'new':
$_GET[key]= addslashes("$_GET[key]");
$_GET[key] = htmlspecialchars($_GET[key]);
$req = mysql_query("SELECT * FROM `newpass` WHERE `key` = '$_GET[key]'");
$avto=mysql_num_rows($req);
if($avto=="0"){
echo'Нет такого ключа!';
echo "<br/><a href="/">Назад</a></div>";
include('files/dwn2.php');exit;
}else{
if(empty($_POST[newpass])){
echo '<form action="repass.php?mod=new&key='. htmlspecialchars($_GET[key]).'"" method="post">';
echo"Новый пароль<br/>
<input class='input' type="password" size="15" name="newpass"/><br/>";
echo"Еще раз<br/>
<input class='input' type="password" size="15" name="newpass2"/><br/>";
echo '<input class="button" type="submit" value="Изменить" /></form>';
}else{
$newpassmd5 = md5($_POST[newpass]);
$_POST[newpass] = addslashes("$_POST[newpass]");
$_POST[newpass] = htmlspecialchars($_POST[newpass]);
$_POST[newpass2] = addslashes("$_POST[newpass2]");
$_POST[newpass2] = htmlspecialchars($_POST[newpass2]);
if($_POST[newpass] == "")
{
echo "Вы оставили пустое поле новый пароль!<br/>";
echo "<a href="repass.php">Назад</a></div>";
include('files/dwn2.php');exit;
}
elseif (strlen($_POST[newpass])>32){echo"Длина пароля превышает 32 символов!<br />"; include($path.'files/down.php');exit;}
elseif (strlen($_POST[newpass])<6){echo"Длина пароля меньше 6 символов!<br />"; include($path.'files/down.php');exit;}
elseif($_POST[newpass2] == "")
{
echo "Вы оставили пустое поле новый пароль еще раз!<br/>";
echo "<a href="repass.php">Назад</a></div>";
include('files/dwn2.php');exit;
}
elseif($_POST[newpass] != $_POST[newpass2])
{
echo "Пароли не совпадают!<br/>";
echo "<a href="repass.php">Назад</a></div>";
include('files/dwn2.php');exit;
}else{
$req123 = mysql_query("SELECT * FROM `newpass` WHERE `key` = '$_GET[key]'");
$passnew = mysql_fetch_array($req123);
mysql_query("UPDATE users SET pass='$newpassmd5' WHERE usr = '$passnew[login]'");
mysql_query("DELETE FROM `newpass` WHERE login='$passnew[login]'");
$_SESSION[newpasskol]="0";
echo'Пароль успешно изменен!<br/>';
echo "<a href="/">На главную</a></div>";
}}}
break;
}}
echo "</div>";
include('files/dwn2.php');
?>