View file masteru.site/modules/cab/pass.php

File size: 3.45Kb
<?
$title = 'Пароль';
require_once ('../../system/function.php');
require_once ('../../system/header.php');
if(!$user['id']){
header('Location: '.$HOME);
exit();
}

?>
<script>
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min)) + min;
}
function GeneratePassword()
{
var chars = "123456789ABCDEFGHJKMNPQRSTUVWXYZabcdefghjkmnopqrstuvwxyz";
var length = getRandomInt(6, 15);
var res = "";
var r;
var i;
for (i = 1; i <= length; i++)
{
r = Math.floor(Math.random() * chars.length);
res = res + chars.substring(r, r + 1);
}
document.getElementById('pp').value = res;
document.getElementById('pp1').value = res;
}
</script>
<?

echo '<div class="title"><a href="/Office">Кабинет</a> | Смена пароля</div>';
if(isset($_REQUEST['submit'])) {
$pass0 = strong($_POST['pass0']);
$pass1 = strong($_POST['pass1']);
$pass2 = strong($_POST['pass2']);
if(empty($pass0) or empty($pass1) or empty($pass2)){
$_SESSION['err'] = 'Не заполнно одно из полей!';
header('Location: ?');
exit;
}
if($pass1 != $pass2){
$_SESSION['err'] = 'Новые пароли не совпадают!';
header('Location: ?');
exit;
}
if($pass0 == $pass1){
$_SESSION['err'] = 'Старый и новый пароль одинаковы!';
header('Location: ?');
exit;
}
if(md5(md5(md5($pass0))) != $user['pass']){
$_SESSION['err'] = 'Старый пароль не верен!';
header('Location: ?');
exit;
}
if (!preg_match('|^[a-z0-9\-]+$|i', $pass0)){
$_SESSION['err'] = 'Запрещенные символы в c старом пароле!';
header('Location: ?');
exit;
}
if (!preg_match('|^[a-z0-9\-]+$|i', $pass1)){
$_SESSION['err'] = 'Запрещенные символы в новом пароле!';
header('Location: ?');
exit;
}
if (!preg_match('|^[a-z0-9\-]+$|i', $pass2)){
$_SESSION['err'] = 'Запрещенные символы в повторе пароля!';
header('Location: ?');
exit;
}
if(mb_strlen($pass0) > 25 or mb_strlen($pass0) < 5){
$_SESSION['err'] = 'Старый пароль от 5 до 25 символов!';
header('Location: ?');
exit;
}
if(mb_strlen($pass1) > 25 or mb_strlen($pass1) < 5){
$_SESSION['err'] = 'Новый пароль от 5 до 25 символов!';
header('Location: ?');
exit;
}
if(mb_strlen($pass2) > 25 or mb_strlen($pass2) < 5){
$_SESSION['err'] = 'Повтор пароля от 5 до 25 символов!';
header('Location: ?');
exit;
}
mysql_query("UPDATE `users` SET `pass` = '".md5(md5(md5($pass1)))."' WHERE `id` = '".$user['id']."'");
setcookie('uspass', md5(md5(md5($pass1))), time()+86400*365, '/');
echo'<script>
alert("Сохранено!");
window.location.replace("/Office/Settings/Password");
</script>';
}
if(isset($_SESSION['err'])){
echo '<div class="podmenu"><font color="red"><b><i>'.$_SESSION['err'].'</i></b></font></div>';
}
unset($_SESSION['err']);
echo'<div class="podmenu">
<form action="" method="POST">
<lable>Старый пароль</lable></br>
<input type="text" name="pass0" placeholder="Старый пароль"></br>
<lable>Новый пароль</lable><span onclick="GeneratePassword()"> <b>[сгенерировать] </b></span></br>
<input type="text" id="pp" name="pass1" placeholder="Новый пароль"></br>
<lable>Новый пароль еще раз</lable></br>
<input type="text" id="pp1" name="pass2" placeholder="Новый пароль еще раз"></br>
<input type="submit" name="submit" value="Вперед">
<form></div>';
require_once ('../../system/footer.php');