М6У5. Теорія_се gift for vhhdjdjjdjdjfjсії.pdf

ssuser09e066 7 views 25 slides Sep 02, 2025
Slide 1
Slide 1 of 25
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25

About This Presentation

Csbbsndnnxnxnxnnd


Slide Content

Скачать методичку
МОДУЛЬ 6. УРОК 5
Теорія:
Сесії

Перевіряємо веб-додатки
Чудово!
Ви створили веб-додаток.
Погляньмо, як воно працює.


Варіанти роботи:
●один із учнів запускає свій код;
●викладач запускає еталонний код.

Обговорення: розбір створеної програми

Перевірити веб-додаток
Чи запитують по черзі?
Обговорення: розбір створеної програми

Перевірити веб-додаток
Чи запитують по черзі?
Обговорення: розбір створеної програми
Так, все працює!

Перевіряємо веб-прокладання
Що буде, якщо до сервера підключиться інший клієнт?

Можна підключитися кількома клієнтами з одного
комп'ютера, використовуючи кілька браузерів (або той
самий браузер у звичайному режимі та в режимі інкогніто.
У Chrome нове «вікно-інкогніто» відкривається поєднанням
<ctrl> + <shift> + 'n').
Обговорення: розбір створеної програми

Демонстрація
Спробуйте відкрити сторінку у різних браузерах.
і подивитися, як поводитиметься програма.
Обговорення: розбір створеної програми

Підключення різних клієнтів
Черговість показу питань порушується. Чому?
Обговорення: розбір створеної програми

Проблема
Глобальні змінні змінюються всім клієнтам відразу!
Обговорення: розбір створеної програми

Розглянемо проблему на прикладі
Хороший спосіб упоратися з проблемою—
ізолювати її від решти програми, після чого постаратися
вирішити на простому прикладі.

Розглянемо максимально просту програму Лічильник та
знайдемо рішення.
Нова тема: сесії

Розглянемо проблему на прикладі
Завдання програми «Лічильник» — підраховувати кількість
звернень до сторінки.
Нова тема: сесії
global counter
обнуляємо змінну при відкритті головної сторінки:
counter = 0

збільшуємо змінну при зверненні
до сторінки:
counter = counter + 1
?

Підключення різних клієнтів
Упевнімося, що в цьому простому прикладі проблема
зберігається. Запустимо кілька клієнтів.
Нова тема: сесії

Підключення різних клієнтів
Що ми побачили?
Нова тема: сесії
Так, користувачі заважають одне одному
працювати.

Підключення різних клієнтів
Що ми побачили?
Нова тема: сесії
Так, користувачі заважають одне одному
працювати.

Рішення
Нам допоможе механізм сесій.

Розберемося та використовуємо сесії для виправлення
програми «Лічильник».
Вікторину виправте самостійно!
Нова тема: сесії

Сесія
У фреймворку Flask є об'єкт session.

Об'єкт session зберігає дані про активність кожного окремого
користувача у вигляді пар "ключ-значення".
При зверненні до об'єкта session Flask щоразу знаходить той
набір даних, який відповідає клієнту, який звернувся до веб-
додатку.

Нова тема: сесії
Сесія –– сеанс зв'язку клієнта та сервера.

Сесія
В об'єкті session кожного клієнта використовується його
власний набір даних.
Нова тема: сесії
Flask
об'єкт session
Клієнти Дані

Синтаксис
# Імпортуємо об'єкт session у програму:
from flask import session

# Замість змінної створимо пару ключ-значення:
session['counter'] = 0

# При зверненні до сторінки збільшимо значення
# по ключу counter:
session['counter'] += 1

Нова тема: сесії

Сесії
Запустіть програму.
При запуску виникає помилка:
Нова тема: сесії

Сесії
Що відбувається?

Інформація про ідентифікатор користувача
та дані, що зберігаються у сесії— це приватна інформація.

Flask забороняє передавати цю інформацію у відкритому
вигляді. Він наполягає, що треба зашифрувати цю
інформацію за допомогою секретного ключа.

Нова тема: сесії

Синтаксис
# Створюємо об'єкт веб-програми:
app = Flask(__name__)
# у app.config зберігаються налаштування, загальні
всім користувачів. Створюємо секретний ключ:
app.config['SECRET_KEY'] = 'VeryStrongKey'
Нова тема: сесії
Прописуємо секретний ключ для програми :

Демонстрація
Нова тема: сесії
Перевіряємо виправлений варіант «лічильника».

Результат
Нова тема: сесії
Тепер все працює: один клієнт не заважає іншому.

Звернімо увагу : сервер вважає різними клієнтами
підключення із різних браузерів. При роботі з різних
вкладок одного браузера програма сприймає нас як
одного клієнта.

Файли Cookie
Файли cookie — це специфічні дані (кілька рядків тексту), які сервер
надсилає браузеру. Вони зберігаються на комп'ютері користувача.
Браузер прикріплює цей набір даних для всіх наступних запитів до
цього сервера. Так сервер може розпізнати, що різні запити
надходять від одного клієнта.

Нова тема: Cookie
cookie
запити

Cookie & Flask
Flask використовує cookies, щоб знайти серед усіх сесій ту, яка
відповідає клієнту, що прийшов із запитом. Тому йому 1 клієнт = 1
браузер. У режимі інкогніто браузер ігнорує раніше надіслані йому
cookies.
Flask
об'єкт session
Клієнти Дані
cookie
cookie
cookie
Нова тема: Cookie

Cookie у браузері
Подивимося, де лежать файли cookies у браузері Google
Chrome.

1.Налаштування… →
2.Конфіденційність та безпека… →
3.Файли cookie та інші дані сайтів… →
4.Усі файли cookie та дані сайту.
Нова тема: Cookie
Tags