Файл: newpass.php
Строк: 123
<?php
define('PROTECTOR', 1);
$headmod = 'newpass';//фикс. места
$textl='Восстановление пароля';
include('files/path.php');
include('files/db.php');
include('files/auth.php');
include('files/func.php');
include('files/core.php');
include('files/head.php');
if ($user_id=='1'){
include($path.'files/zag.php');
echo"Вы авторизованы!";
include($path.'files/down.php');exit;
}else{
echo'<div class="menu">Восстановление пароля
<div class="hr"></div>
';
switch($_GET[mod]){
default:
if(empty($_POST[login])){
echo '<form action="newpass.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/><br/>";
echo '<input class="button" type="submit" value="Отправить" /></form>';
}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="newpass.php">Назад</a></div>";
include($path.'files/end.php');exit;
}
elseif($_POST[login] == "")
{
echo "Вы оставили пустое поле!<br/>";
echo "<a href="newpass.php">Назад</a></div>";
include($path.'files/end.php');exit;
}
elseif (!eregi('^[^@]*@[^@]*.[^@]*$',$_POST[email])){
echo'Неверный формат Email<br/>';
echo "<a href="settings.php">Назад</a></div>";
include($path.'files/end.php');exit;
}
elseif($usr[email]!= $_POST[email])
{
echo "Такой пары логина и email несуществует!<br/>";
echo "<a href="newpass.php">Назад</a></div>";
include($path.'files/end.php');exit;
}
elseif($_SESSION[newpasskol]>2)
{
echo "Количество попыток исчерпано!<br/>";
echo "<a href="newpass.php">Назад</a></div>";
include($path.'files/end.php');exit;
}
$_SESSION[newpasskol]=$_SESSION[newpasskol]+1;
$keys = md5(rand(1000, 9999));
$subject = "Восстановление пароля [WARKS.RU]";
$regmail = "Здравствуйте $usr[usr]<br />
Вы запросили восстановление пароля<br />
Для установки нового пароля перейдите по ссылке:<br />
http://$_SERVER[HTTP_HOST]/newpass.php?mod=new&key=$keys <br />
Данная ссылка действительна до первой авторизации под своим логином ($usr[usr])<br />
С уважением, MAGISTER<br />
http://$_SERVER[HTTP_HOST]<br />
Онлайн игра Чужеземцы 2011-2012г.<br />
";
$adds="From: "MR-GAME@bk.ru" <MR-GAME@bk.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($path.'files/end.php');exit;
}else{
if(empty($_POST[newpass])){
echo '<form action="newpass.php?mod=new&key='.$_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/><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="newpass.php">Назад</a></div>";
include($path.'files/end.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="newpass.php">Назад</a></div>";
include($path.'files/end.php');exit;
}
elseif($_POST[newpass] != $_POST[newpass2])
{
echo "Пароли не совпадают!<br/>";
echo "<a href="newpass.php">Назад</a></div>";
include($path.'files/end.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="index.php?mod=enter">Авторизация</a></div>";
}}}
break;
}}
include($path.'files/end.php');
?>