- •Інтернет-програмування
- •Тема 1. Вступ до Інтернет программування 3
- •Тема 2. Аутентифікація і авторизація користувачів 18
- •Тема 7. Практична реалізація баз даних в інтернеті 91
- •Тема 1. Вступ до Інтернет программування
- •1.1. Інтернет-додатки - основні відомості
- •1.2. Принцип роботи Web-додатків
- •1.3.Можливості asp. Net
- •1.4.Переваги asp.Net
- •1.5.Структура Web-додатків
- •1.6. Компоненти Web-форм
- •1.7. Мови програмування
- •1.8.Створення проекту Web-додатка
- •1.8.1. Створення нового Web-додатка
- •1.8.2.Керування проектом за допомогою iis
- •1.8.3.Створення віртуальних каталогів для Web-додатків
- •1.8.4. Створення каталогу subweb
- •1.8.5. Створення нового проекту у віртуальному каталозі
- •1.8.6. Розміщення елементів керування й написання коду
- •Тема 2. Аутентифікація і авторизація користувачів
- •2.1. Анонімний доступ
- •2.2. Доступ аутентифікованих користувачів
- •2.3. Аутентифікація запитів html-сторінок
- •2.4. Аутентифікація Windows
- •2.4.1. Включення аутентификации Windows
- •2.4.2. Призначення прав доступу окремим користувачам
- •2.4.3. Застосування авторизації, заснованої на ролях
- •2.4.4. Витяг ідентифікаційних даних користувача
- •2.4.5.Параметри iis і аутентификация засобами Windows
- •2.5. Аутентифікація Forms
- •2.5.1. Як задіяти аутентификацию за допомогою форм
- •2.5.2. Вибір методу аутентификации
- •2.5.3 Створення вхідної Web-форми
- •2.5.4 Аутентифікація за допомогою бази даних
- •2.5.5. Додавання користувачів у базу даних
- •2.6. Аутентифікація Passport|
- •2.6.1. Як задіювати аутентифікацію Passport|
- •Тема 3. Обробка подій
- •3.1. Події життєвого циклу Web-додатка
- •3.2. Збереження даних Web-форми
- •3.4. Події Web-форми
- •3.5. Події серверних елементів керування
- •3.6. Відключення змінної стану Session
- •3.7. Визначення моменту завершення додатка
- •Тема 4. Простори імен в Web-додатках
- •4.1. Огляд простору імен Web
- •4.2. Використання об'єкту Application|
- •4.3. Використання об'єкту Page|
- •4.4. Використання об'єкту Response|
- •Тема 5. Збереження відомостей про стан
- •5.1. Способи збереження відомостей про стан
- •5.1.1 Використання рядків запитів
- •5.1.2 Використання файлів cookie|
- •5.1.3. Використання стану відображення
- •5.1.4. Використання змінних стану Application і Session
- •5.2. Впорядкування доступу до змінних стану
- •Тема 6. Використання баз даних в додатках asp.Net
- •6.1. Основні відомості про модель доступу до даних ado|.Net
- •6.1.1. АрАрхітектура ado.Net
- •6.2. Організація взаємодії з бд
- •6.2.1 Підключення до бд
- •6.2.2. Виконання команд над наборами даних
- •6.2.3. Використання команд, що параметризуються
- •6.2.4. Використання процедур, що зберігаються
- •6.3. Від'єднані набори даних
- •6.3.1. Клас DataSet|
- •6.3.2. Використання DataSet
- •6.3.3. Клас DataAdapter|
- •6.4. Прив'язка і відображення даних
- •6.4.1. Прив'язка з одним значенням
- •6.4.2. Прив'язка з множинним значенням
- •6.5. Використання параметрів в запитах
- •6.6. Оновлення даних
- •Тема 7. Практична реалізація баз даних в інтернеті
- •7.1. Яким має бути ефективний Інтернет-магазин.
- •7.1.2 . Послідовність роботи інтернет-магазину: |
- •7.1.3. Переваги і можливості|спроможності| Інтернет-магазину
- •7.1.4. Недоліки|нестачі| Інтернет-магазину
- •7.2. Конструювання інтернет-магазину
- •7.3. Технологія asp
- •7.4. Інструменти
- •7.5. Розміщення сайту в інтернеті
- •7.6. База даних інтернет-додатка
- •7.7. Створюємо інтерфейс інтернет-магазину
- •7.7.1. Короткий список основних сторінок сайту:
- •7.7.2. Реалізація каталогу товарів
- •7.7.3. Авторизація відвідувачів|візитерів| інтернет-магазину
- •7.7.4. Оформлення замовлення в інтернет-магазині
- •7.7.5. Розробка інтернет-додатків|застосувань|
7.7.3. Авторизація відвідувачів|візитерів| інтернет-магазину
Авторизація відвідувачів|візитерів| потрібна по двох основних причинах:
надання відвідувачеві|візитерові| відповідних прав для зміни інформації на сайті;
забезпечення можливості|спроможності| створення|створіння| корзини|кошика| замовлення для конкретного покупця.
При роботі інтернет-додатка для кожного відвідувача створюється спеціальний програмний об'єкт, який називається «сесією» (Session).
При першому зверненні до сайту для відвідувача створюється нова сесія. Все подальші звернення виконуються в рамках створеної сесії. Час життя сесії (session timeout) визначається налаштуваннями сервера і за умовчанням дорівнює 20 хвилинам. Протягом цього часу сервер зберігає всі дані сесійної змінної, після чого сесія знищується і виділена під сесію область пам'яті звільняється. Кожне звернення відвідувача до сервера, продовжує час на чергових 20 хвилин.
У кожен момент часу, число активних сесій відповідає числу активних відвідувачів|візитерів| за останніх 20 хвилин.
Ідентифікатор сесії це унікальний ключ|джерело|, він створюється при першому зверненні до сторінки сервера і передається назад браузеру|. При черговому запиті, браузер| передає цей ключ|джерело| серверу, а той у свою чергу|в свою чергу| перевіряє наявність сесії з|із| таким ключем|джерелом|. Якщо така сесія існує, то вона, і всі збережені в ній значення, стають доступними серверному застосуванню.
Об'єкт Session може зберігати не лише унікальний ключ сесії, але і різні змінні. Наприклад, ідентифікатор користувача і корзину товарів, що дозволяє виключити необхідність передачі ідентифікатора і пароля користувача при кожному зверненні до сайту, забезпечуючи при цьому необхідний рівень інформаційної безпеки.
Механізм сесій в MS Internet Information Server (MS IIS) працює тільки за умови підтримки браузером відвідувача так званих session cookies. У налаштуваннях браузера можна заборонити підтримку session cookies, і тоді при кожному зверненні до сервера створюватиметься нова порожня сесія.
У переважній більшості випадків підтримка, session| cookies| у відвідувачів|візитерів| включена. Але|та| інколи|іноді| користувачі Інтернету, що начулися про проломи в системі безпеки браузерів|, відключають цю підтримку. Такі проломи дозволяють недобросовісним|несумлінним| сайтам прочитувати cookies|, що залишилися в кеші браузера| після|потім| відвідин|відвідувань| інших сайтів (відмітимо|помітимо|, що не дуже технічно грамотних сайтів).
Передбачати чи ні|або ні| можливість|спроможність| роботи відвідувача|візитера| Вашого сайту без cookies| – вирішувати|рішати| Вам. Для нашого інтернет-застосування безпека cookies| неістотна|несуттєва|, оскільки|тому що| ми не збираємося зберігати в cookies| ні номера кредитних карт, ні ідентифікаторів, ні паролів. І вам не радимо.
Для критичніших до інформаційної безпеки застосувань можемо порекомендувати використовувати механізми «емуляції сесій». Наприклад, шляхом додавання|добавляти| до URL-адресу| власного сесійного ключа|джерела|. Ще безпечніше використовувати систему аутентифікації на базі цифрових сертифікатів. Проте|однак|, ці питання виходять за межі нашої статті.
Щоб|аби| зробити|вчинити| покупку|купівлю| в магазині, покупець може бути не реєстрованим користувачем (має на це право). І в цьому випадку описаний вище механізм чудово виконує свої завдання|задачі|. Він дозволяє анонімному покупцеві проглядати каталог, формувати корзину|кошик| замовлення, відправляти|відряджати| сформоване замовлення на обробку. При цьому всі необхідні для процесу параметри зберігаються в об'єкті Session|.
Якщо покупець є|з'являється| зареєстрованим користувачем, то після|потім| авторизації система може автоматично заповнювати адресні поля замовлення і зберігати реєстр замовлень по кожному покупцеві. Погодитеся – це зручно.
У нашому застосуванні для зберігання даних про зареєстрованих користувачів використовується таблиця Users|. В процесі авторизації користувач повинен вказати свій ідентифікатор і пароль. Якщо в таблиці є|наявний| запис з|із| таким ідентифікатором і паролем, то система ідентифікує відвідувача|візитера| і наділяє його необхідним рівнем прав на роботу з|із| інформацією.
