Search the Community
Showing results for tags 'авторизация'.
-
Добрый день, собственно вопрос в том почему код ниже является плохим? Появилась необходимость запретить просмотр определенной страницы посторонним и решил изучить php и реализовать хоть какую никакую авторизацию и разграничение доступа! Так то я сделал и все работает, но есть сомнения на счет безопасности! Сомнения появились, после того как я просмотрел примеры авторизации на различных сайтах, они там вместе с сеансами используют еще и куки, и пароль шифруют. Но как я понял все переменные $_SESSION хранятся на сервере, тогда чего мне бояться? Заранее спасибо! Файл "check.php" его я размещаю в начало страниц, к которым нужно закрыть доступ <?phpsession_start();if (isset($_GET['logout'])) { //Это для выхода из аккаунта, просто GET запросомunset($_SESSION['auth']);}if (isset($_SESSION['auth']) AND ($_SESSION['level'] == 1)) //Проверка, авторизован ли пользователь и какими правами доступа обладает{}elseif (isset($_SESSION['auth'])) {header('Location: /index.php');//Если авторизован, но без прав доступа, то редиркет на гланую сайтаexit();}else{header('Location: /admin/auth.php'); //Если не авторизован, то предлагаю авторизоваться}?>А вот и сам код авторизации "auth.php" <?phpinclude '../config.php'; //Подключаю конфиги для соединени с бдsession_start();if ($_POST['submit']) //Действия по нажатию кнопки войти{if (empty($_POST['login']) OR empty($_POST['password'])) //Проверка на заполненность полей, чтобы не были пустыми{$error = "<p id='error'>Заполни поля!</p>";}else{//дальше идет поиск введенных значений в бд$data = mysql_fetch_array(mysql_query("SELECT login, password, level FROM users WHERE login='".$_POST[login]."' AND password='".$_POST[password]."'"));if (($_POST['login'] == $data[login]) AND ($_POST['password'] == $data[password])) {$_SESSION['auth'] = '1';$_SESSION['level'] = $data[level];header('Location: /admin/index.php');}else{$error = "<p id='error'>Неверный логин или пароль!</p>";}}}if (isset($_SESSION['auth'])) //Если пользователь уже авторизован, его кидает на главную страницу админки{header('Location: /admin/index.php');}else{include "tmp/header.php";echo '<div id="nav-wrapper"> <ul id="sidebar"> <li><a href="../index.php">Главная</a></li> </ul></div><form method="POST" id="auth">'.$error.'<h1>Вход в ПУ</h1> Логин <br><input class="s" name="login" type="text"><br> Пароль <br><input class="s" name="password" type="password"><br> <input style="width: 100px;" name="submit" type="submit" value="Войти"> </form>';include "tmp/footer.php";}?>
- 20 replies
-
- php
- авторизация
-
(and 1 more)
Tagged with: