Вход Регистрация
Файл: auth.php
Строк: 23
<?php
require_once('kernel/start.php');
if (
$user == true) {
header('location:/');
die();
}
if (isset(
$_POST['save'])) {
$err = [];
$form = ['user' => isset($_POST['user']) ? check($_POST['user']) : false'pass' => isset($_POST['pass']) ? check($_POST['pass']) : false];
if (empty(
$form['user']) OR empty($form['pass'])) {
$err[] = 'Не введен Логин или Пароль!';
}
elseif (
mb_strlen($form['user'])>15 OR mb_strlen($form['user'])<2) {
$err[] = 'Слишком длинный или короткий логин!';
}
elseif (
mb_strlen($form['pass'])>15 OR mb_strlen($form['pass'])<6) {
$err[] = 'Слишком длинный или короткий пароль!';
}
elseif (!
preg_match('!^[a-z0-9]+$!i',$form['pass'])) {
$err[] = 'В пароле обнаружены запрешенные знаки!';
}
elseif (!
preg_match('!^[a-zа-я0-9]+$!i',$form['user'])) {
$err[] = 'В логине присутствуют запрещенные символы';
}
$array $dbs->prepare("SELECT * FROM user WHERE user = ? AND pass = ? LIMIT 1");
$array->execute([$form['user'],hash_sha1($form['pass'])]);
if (
$array -> rowCount() == 0) {
$err[] = 'Данного пользователя не существует!';
}
$arr $array -> fetch(PDO::FETCH_ASSOC);
if (
$arr['pass'] != hash_sha1($form['pass'])){
$err[] = 'Не верный пароль!';
}
if (empty(
$err)) {
// устанавливаем cookie + session
setcookie('auth'base64_encode($arr['id'].'::'.hash_sha1($form['pass'])), time()+3600*24*365'/');
$_SESSION['auth'] = base64_encode($arr['id'].'::'.hash_sha1($form['pass']));
header('location: /');
} else {
foreach(
$err as $error) {
echo 
$error.'<br/>';
}
}
}
echo 
'<center><form method="post" action="#"><center>Логин:<br/><input name="user" type="text"/><br />Пароль:<br /><input name="pass" type="password"/><br /><input value="Авторизоваться" name="save" type="submit"/></form></center>';
?>
Онлайн: 1
Реклама