План занятий 02.11.2016 МГИМО ауд.4003

Система аутентификации пользователей на сайте

(учебный вариант)

1. Используя putty & mysql-клиент, создадим простую таблицу и заполним ее:

create table user (login char(32) primary key, passw char(32));

insert into user values('an2k', '123');
insert into user values('jon', '321');
insert into user values('kat', '333');

2. В своем хоме на сервере в папке www создадим новую папку для нового проекта, назовем ее aut (или как хотите иначе) и перейдем в нее:

 mkdir ~/www/aut 
 cd
~/www/aut 

3. Создадим в этой папке 5 файлов, используя mc (в начале каждого текста в комментарии есть имя файла, использовать нужно обязательно его):

Первый

<? /* head.php - шапка */ ?>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Webmastering. Урок No 4</title>
</head>
<body>

Второй

<? /* food.php - подвал */?>
<hr>
<table>
  <tr>
    <td>
      Copyfeft МГИМО, 2012
    </td>
  </tr>
</table>
</body>
</html>

Третий

<? /* autentif.php - форма */?>
<br><br>
<form action="main.php">
  Логин: <input type="text" name="login"><br><br>
  Пароль: <input type="password" name="passw"><br><br>
  <input type="submit" name="buttn" value="Войти">
</form>

Четвертый

<? // main.php - основа
include ("proc.php") ;
include ("head.php") ;

if ( $mess ) echo $mess ;

if ( ! $flag_autentif ) include ("autentif.php") ;

include ("foot.php") ;
?>

Пятый

<? // proc.php - процедуры

// подключаем PHP к mysql DB
$db = mysql_pconnect ( "localhost", "ВАШ MYSQL ЛОГИН", "ВАШ MYSQL ПАРОЛЬ" ) ;
mysql_select_db( 'ВАША MYSQL DB' ) ;

// ловим данные отправленные из формы
if ( $_GET['buttn'] ) { // если нажата кнопка Войти..
  //...проверим логин и пароль
  $flag_autentif = autentific ( $_GET['login'], $_GET['passw'] ) ;

  if ( $flag_autentif ) {
    $mess = "Аутентификация прошла успешно." .
            "<br><br><br><a href=main.php>Сброс</a><br><br><br>" ;
  }
  else $mess = "Вы не прошли аутентификацию, попробуйте еще раз:" ;
}

function autentific ( $login, $passw ) {
  // формируем запрос
  $sql = "select login from user where login='$login' and passw='$passw'" ;

  // выполняем запрос к базе MYSQL средствами PHP
  $res = mysql_query ( $sql ) or die ( "Error=$sql=" ) ;

  // если результат запроса имеется, то получим строку...
  if ( $res ) $rec = mysql_fetch_row ( $res ) ;
  else return false ; // ...иначе вернем false

  // из строки (массива ячеек) получим содержимое первой ячейки (ее номер = 0)...
  if ( $rec[0] ) return true ; // ... если такой логин нашелся - вернем true
  else return false ; // ...иначе вернем false
}

?>

4. Идем в браузер, пишем адрес:

http://176.9.152.173/ВАШ Linux ЛОГИН/ИМЯ ВАШЕГО ПРОЕКТА/main.php

и отлаживаем работу системы аутентификации.