Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: еще раз про авторизацию.
 
 автор: Bvz   (11.09.2008 в 18:00)   письмо автору
 
 

взял на этом форуме скрипт авторизации, все работает немного подправил по свои нужды, но возникло несколько вопросов:
1. насколько безопасна такая авторизации.
2. как проверка авторизацию при переходе на разные страницы админке, т.е. можно просматривать их только авторизированным пользователями.
3. как реализовать выход из админки.

index.php

<?php
  session_start
();
  
session_unset();

?>
<html>
<head>
    <title>Солненый берег</title>
    <link type="text/css" rel="stylesheet" href="css/css.css"></link>
</head>
<body>
                <form action=auth.php method=post>
                Имя посетителя : <input type=text name=name value=<?php echo $_SESSION['user']; ?>>
                Пароль :  <input type=password name=password value=<?php echo $_SESSION['password']; ?>>
                <div align="right">
                <input type=submit value=Отправить>
                </div>
                </form>
            </td>
        </tr>
    </table>
</div>
</body>
</html>



<?php
    
// Это файл handler.php
    // Имя сервера базы данных, например $dblocation = "mysql28.noweb.ru"
    // сейчас выставлен сервер локальной машины
    
$dblocation "localhost";
    
// Имя базы данных
    
$dbname "sb";
    
// Имя пользователя... Скорее всего будет совпадать с вашим доменным именем
    // у нас, например $dbuser = "softtime";
    
$dbuser "root";
    
// Пароль - в комментариях не нуждается ;-)
    
$dbpasswd "";
    
// Соединяемся с сервером базы данных
    
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
    if (!
$dbcnx) {
      echo( 
"<P>В настоящий момент сервер базы данных не
                          доступен, поэтому корректное отображение
                          страницы невозможно.</P>" 
);
      exit();
    }
    
// Выбираем базу данных
    
if (! @mysql_select_db($dbname,$dbcnx) ) {
      echo( 
"<P>В настоящий момент база данных не доступна,
                          поэтому корректное отображение страницы
                          невозможно.</P>" 
);
      exit();
    }
    
// Формируем и выполняем SQL-запрос для посетителя с
    // именем $_POST['name']
    
$query "SELECT password FROM users WHERE name='".$_POST['name']."'";
    
$nme mysql_query($query);
    if(!
$nme)
    {
      echo 
mysql_error();
      echo 
"Ошибка выполнения запроса";
      exit();
    }
    
// Если запрос вернул результат - производим дальнейшую обработку
    
if(mysql_num_rows($nme) > 0)
    {
       
// Получаем пароль
       
$password mysql_result($nme0);
       
// Сравниваем пароль из базы данных и введённый посетителем
       
if (md5($_POST['password']) == $password)
       {
         
// Идентификация прошла успешно - осуществляем
         // "вход" посетителя. Для того, чтобы в течении текущей
         // сесси посетитель не вводил своё имя пароль повторно -
         // передаём их через сессию
         
if(session_start())
         {
           
$_SESSION['user'] = $_POST['name'];
           
$_SESSION['password'] = $_POST['password'];
           
// Осуществляем автоматический переход на
           // страницу index.php чтобы убедится, что
           // посетитель "вошёл"
           
echo "<HTML><HEAD>
                 <META HTTP-EQUIV='Refresh' CONTENT='0; URL=login.php'>
                 </HEAD><body>"
;
         }
       }
       else
       {
         echo 
"Ошибка идентификации: неправильный пароль";
         exit();
       }
    }
    
// Если в результате запроса не получено ни одной
    // строки - посетитель с таким именем не зарегистрирован
    
else
    {
      echo 
"Ошибка идентификации: посетитель не зарегистрирован";
      exit();
    }
?>


login.php

<?php
  session_start
();
?>
<html>

<head>
    <title>Солненый берег</title>
    <link type="text/css" rel="stylesheet" href="css/css.css"></link>
    <script type="text/javascript" src="script/jquery-1.2.6.pack.js"></script>
</head>
<body>
<div align="center">
                if(isset($_SESSION['user'])) echo $_SESSION['user'];
                ?>
                <form name="" action="index.php" method="post">
                <input type="submit" value="Выйти">
                </form>
</html>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования