Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаборатор_практикумZI.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
879.1 Кб
Скачать

1.2 Виконання аутентифікації користувачів засобами керування сеансом у рнр

PHP (РНР Hypertext Preprocessor) - це серверна мова створення сценаріїв, розроблена спеціально для Web. В HTML-сторінку можна впровадити код РНР, що буде виконуватися при кожному її відвідуванні. Код РНР інтерпретується Web-сервером і генерує HTML або інший вивід, спостережуваний відвідувачем сторінки. Синтаксис РНР ґрунтується на інших мовах програмування, у першу чергу на С та Perl.

HTTP-Протокол іноді називають «протоколом без стану». Це означає, що даний протокол не має убудованого способу підтримки стану між двома транзакціями. Коли користувач запитує один за одним дві сторінки, HTTP не забезпечує можливості повідомити, що обидва запити виходять від того самого користувача. Це ускладнює перенесення між сторінками введених користувачем даних, таких як дані аутентифікації.

Таким чином, ідея керування сеансами полягає у забезпеченні відстеження користувача протягом одного сеансу зв'язку з Web-сайтом.

Реалізація керування простим сеансом

Основними етапами використання сеансу є наступні:

  • запуск сеансу;

  • реєстрація змінних сеансу;

  • використання змінних сеансу;

  • скасування реєстрації змінних і закриття сеансу.

Всі перераховані етапи не обов'язково можуть міститися в одному сценарії, і деякі з них можуть перебувати в декількох сценаріях. Розглянемо кожний із цих етапів послідовно.

1.2.1 Запуск сеансу

Перш ніж можна буде скористатися функціональними можливостями сеансу, варто запустити сам сеанс. Існує кілька способів зробити це.

Але найпростіший полягає в тому, що сценарій починається з виклику функції:

Session start () ;

Ця функція перевіряє, чи існує ідентифікатор поточного сеансу. Якщо ні, вона його створює. Якщо ж ідентифікатор поточного сеансу вже існує, вона завантажує зареєстровані змінні сеансу.

1.2.2 Реєстрація змінних сеансу

Для того щоб одержати можливість відслідковувати змінні від одного сценарію до іншого, їх необхідно зареєструвати. Це робиться шляхом виклику функції session_register (). Наприклад, для реєстрації змінної $myvar застосовується наступний код:

$myvar=5 ; session register("myvar") ;

Даний оператор реєструє ім'я змінної й відслідковує її значення. Відстеження змінної буде здійснюватися, поки не завершиться сеанс, або поки вручну не відміниться її реєстрація.

За один прийом можна зареєструвати більше одної змінної, передавши розділений комами список імен змінних:

Session register ("myvar1","myvar2");.

1.2.3 Використання змінних сеансу

Щоб зробити змінну сеансу доступною для використання, спочатку необхідно запустити сеанс.

Після цього з'являється доступ до цієї змінної. Якщо включено опцію register_globals, то доступ до цієї змінної можна одержати через скорочену форму її ім'я, наприклад, $myvar. Якщо ж згадана опція не включена, одержати доступ до змінноїо можна через асоціативний масив $HTTP_SESSION_VARS, наприклад, $HTTP_SESSIQN_VARS["myvar”].

Перевірити, чи є змінна зареєстрованою змінною сеансу, можна звернувшись до функції session_is_registered(). Виклик функції виконується в такий спосіб:

$result=session_is_registered("myvar");

Ця функція перевірить, чи є $myvar зареєстрованою змінною сеансу, і поверне true або false.

Можна зробити іншим шляхом – перевірити масив $HTTP SESSION_VARS на предмет наявності в ньому змінної.