- •Загальні вказівки до виконання лабораторних робіт
- •Лабораторна робота №1 основні методи захисту інформації
- •1 Основні теоретичні відомості
- •1.1 Симетричніі криптосистеми
- •1.1.1 Шифри перестановки
- •1.1.2 Шифри простої заміни
- •1.1.3 Шифри складної заміни
- •1.1.4 Шифр багатоалфавітної заміни
- •1.1.5 Гамірування
- •1.2 Асиметричні криптосистеми. Схема шифрування Ель Гамаля
- •1.1 Принципи аутентифікації
- •1.2 Виконання аутентифікації користувачів засобами керування сеансом у рнр
- •1.2.1 Запуск сеансу
- •1.2.2 Реєстрація змінних сеансу
- •1.2.3 Використання змінних сеансу
- •1.2.4 Скасування реєстрації змінних і завершення сеансу
- •1.1 Атаки на пароль
- •1.2 Проблема вибору пароля
- •1.3 Порядок роботи із програмами розкриття паролів.
- •1.4 Робота із програмами злому на прикладі azpr
- •2 Порядок виконання роботи
- •2.1 Проведення атаки перебором (bruteforce attack)
- •2.2 Проведення атаки за словником (dictionary attack)
- •2 Порядок виконання роботи
- •3 Контрольні питання
- •Лабораторна робота № 5 шифр віженера
- •1 Основні теоретичні відомості
- •1.1 Шифр Віженера і його варіанти
- •«Йфрдряйгєня ігсорф».
- •1.2 Криптоаналіз
- •2 Порядок виконання роботи
- •Контрольні запитання
- •Лабораторна робота № 6 блочний шифр tea
- •1 Основні теоретичні відомості
- •1.1 Мережа Фейштеля
- •1.2 Основи алгоритму
- •1.3 Опис схеми алгоритму
- •2 Порядок виконання роботи
- •3 Контрольні питання
- •Лабораторна робота № 7 дослідження криптоалгоритму шифрування rsa
- •1 Основні теоретичні відомості
- •1.1 Алгоритм rsa
- •2 Порядок виконання роботи
- •3 Контрольні питання
- •Лабораторна робота № 8 дослідження електронного цифрового підпису (ецп) rsa
- •1 Основні теоретичні відомості
- •2 Порядок виконання роботи
- •2.1 Визначення відкритого «e» і секретного «d» ключів (Дії відправника)
- •2.2 Формування ецп
- •2.3 Аутентифікація повідомлення - перевірка автентичності підпису
- •3 Контрольні запитання
- •Лабораторна робота № 9 вивчення криптоалгоритму шифрування ель гамаля
- •1 Основні теоретичні відомості
- •2 Порядок виконання роботи
- •Визначення відкритого “y” і секретного “X” ключів
- •Контрольні запитання
- •Лабораторна робота № 10 вивчення електронного цифрового підпису (ецп) ель гамаля
- •1 Основні теоретичні відомості
- •2 Порядок виконання роботи
- •3 Контрольні запитання
- •Перелік рекомендованих джерел
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 на предмет наявності в ньому змінної.
