Файл: __system/pages/authentication.php
Строк: 58
<?
if(!empty($_COOKIE['login']) && !empty($_COOKIE['password']))
{ Header('Location: /cabinet/');
}
DEFINE('TITLE' , 'Aвторизация'); # фиксируем титул
head();
if(isset($_POST['confirmed']))
{
$error = '';
if(!preg_match("/^[A-Za-z1-9_]{2,20}$/iu",$_POST['login']) && !preg_match("/^[А-ЯЁа-яё1-9_]{2,20}$/iu",$_POST['login']))
# проверяем на запрешенные символы
{
$error .= 'В <i>логине</i> используются запрешенные символы<br>';
}
if((mb_strlen($_POST['login'], 'utf-8')<3) or (mb_strlen($_POST['login'], 'utf-8')>15))
# проверяем на количество символов
{
$error .= '<i>Логин</i> должен быть не менее 3 символов и не более 15<br>';
}
if(!preg_match("/^[A-Za-z1-9_]{2,20}$/iu",$_POST['password']) && !preg_match("/^[А-ЯЁа-яё1-9_]{2,20}$/iu",$_POST['password']))
# проверяем на запрешенные символы
{
$error .= 'В <i>пароле</i> используются запрешенные символы<br>';
}
if((mb_strlen($_POST['password'], 'utf-8')<6) or (mb_strlen($_POST['password'], 'utf-8')>30))
# проверяем на количество символов
{
$error .= '<i>Пароль</i> должен быть не менее 6 символов и не более 30.<br>';
}
$users = $db->prepare("SELECT `salt` FROM `users` WHERE `name` = ? LIMIT 1");
$users->bindValue(1, $_POST['login'], PDO::PARAM_STR);
$users->execute();
if($users -> rowCount() == 0)
{
$error .= 'Такого <i>логина</i> нет в системе<br>';
}
else
{ $u = $users -> fetch(PDO::FETCH_ASSOC);
$password = md5(md5($_POST['password']).$u['salt']);
$userss = $db->prepare("SELECT `id` FROM `users` WHERE `name` = ? and `password` = ? LIMIT 1");
$userss->bindValue(1, $_POST['login'], PDO::PARAM_STR);
$userss->bindValue(2, $password, PDO::PARAM_STR);
$userss->execute();
if($userss -> rowCount() == 0)
{
$error .= 'Неверный <i>пароль</i><br>';
}
}
if(empty($error))
{ $users = $db->prepare("SELECT `salt` FROM `users` WHERE `name` = ? LIMIT 1");
$users->bindValue(1, $_POST['login'], PDO::PARAM_STR);
$users->execute();
$u = $users -> fetch(PDO::FETCH_ASSOC);
$password = md5(md5($_POST['password']).$u['salt']);
SetCookie('login',$_POST['login'],time()+3600*84*84 , '/' , '.'.$_SERVER["HTTP_HOST"].'');
SetCookie('password',$password,time()+3600*84*84, '/' , '.'.$_SERVER["HTTP_HOST"].'');
Header('Location: /cabinet/');
}
else
{ DEFINE('TITLE' , 'Вход в кабинет'); # фиксируем титул head();
echo '<div class="main">';
echo ''.$error.'<br />';
echo '<form action="/authentication/" method="post">';
echo 'Логин:<br />';
echo '<input name="login" maxlength="10"/><br />';
echo 'Пароль:<br />';
echo '<input name="password" type="password" maxlength="10"/><br />';
echo '<input name="confirmed" type="submit" value="Продолжить" /></form>';
}
}
else
{
echo '<div class="main">';
echo '<form action="/authentication/" method="post">';
echo 'Логин:<br />';
echo '<input name="login" maxlength="10"/><br />';
echo 'Пароль:<br />';
echo '<input name="password" type="password" maxlength="10"/><br />';
echo '<input name="confirmed" type="submit" value="Продолжить" /></form>';
}
echo '</div>';
foot();
?>