Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Met_lab_PIZ_2.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
318.98 Кб
Скачать
  1. Програмні засоби аутентифікації

Розглянемо приклад PHP програми для авторизації користувача ресурсу. Традиційне вікно для заповнення імені та паролю користувача має вигляд (рис.2.1.)

Рис.2.1 Форма для заповнення даних користувача

Основною частиною HTML коду даної сторнки є тег форми з відповідними етикетками та елементами керування (введення даних і кнопка надсилання) :

<form action="" method="post">

<label>UserName :</label>

<input type="text" name="username"/><br />

<label>Password :</label>

<input type="password" name="password"/><br/>

<input type="submit" value=" Submit "/><br />.

</form>

Програма авторизації на сервері складається з двох частин по два файли (рис.2.2) :

Welcome.php

Lock.php

Login.php

Config.php

Config.php

Рис.2.2 Форма для заповнення даних користувача

Скрипт Login.php читання введених текстових даних, пошуку аналогічних даних в базі даних (таблиці) та видачі повідомлення про відсутність реєстрації або про допуск до ресурсу. Скрипт Config.php призначений для авторизації користувача бази даних та під єднання до неї.

Друга частина – це скрипт видачі повідомлення та верифікації користувача.

Database

MySQL admin table columns id, username, passcode.

CREATE TABLE admin(id INT PRIMARY KEY AUTO_INCREMENT,username VARCHAR(30) UNIQUE,passcode VARCHAR(30));

Config.php

Database configuration file.

<?php

$mysql_hostname = "hostname";

$mysql_user = "username";

$mysql_password = "password";

$mysql_database = "database";

$bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) 

or die("Opps some thing went wrong");

mysql_select_db($mysql_database, $bd) or die("Opps some thing went wrong");

?>

Login.php

Contains PHP and HTML code.

>?php

include("config.php");

session_start();

if($_SERVER["REQUEST_METHOD"] == "POST")

{

// ім'я користувача та пароль, присланий з форми

$myusername=addslashes($_POST['username']); 

$mypassword=addslashes($_POST['password']); 

$sql="SELECT id FROM admin WHERE username='$myusername' and passcode='$mypassword'";

$result=mysql_query($sql);

$row=mysql_fetch_array($result);

$active=$row['active'];

$count=mysql_num_rows($result);

// Якщо результат відповідає $myusername and $mypassword, рядок таблиці має бути 1 рядок

if($count==1)

{

session_register("myusername");

$_SESSION['login_user']=$myusername;

header("location: welcome.php");

}

else 

{

$error="Your Login Name or Password is invalid";}

}

?>

lock.php

<?php

include('config.php');

session_start();

$user_check=$_SESSION['login_user'];

$ses_sql=mysql_query("select username from admin where username='$user_check' ");

$row=mysql_fetch_array($ses_sql);

$login_session=$row['username'];

if(!isset($login_session))

{

header("Location: login.php");

}

?>

welcome.php

<?php

include('lock.php');

?>

<body>

<h1>Welcome <?php echo $login_session; ?></h1>

</body>

logout.php

SignOut Destroy the session value.

<?php

session_start();

if(session_destroy())

{header("Location: login.php");

}

?>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]