Karta Przedmiotu

Politechnika Białostocka Wydział Informatyki
Kierunek studiów Cyberbezpieczeństwo Poziom i forma
studiów
pierwszego stopnia
stacjonarne
Grupa przedmiotów /
specjalność
Profil kształcenia ogólnoakademicki
Nazwa przedmiotu Programowanie aplikacji WWW Kod przedmiotu CYB1WWW
Rodzaj zajęć obowiązkowy
Formy zajęć i liczba godzin W Ć L P Ps T S Semestr 3
15 15 Punkty ECTS 3
Program obowiązuje od 2026/2027
Przedmioty wprowadzające Podstawy programowania (CYB1PPR),   Sieci komputerowe I (CYB1SKO1),   Sieci komputerowe II (CYB1SKO2),  
Cele przedmiotu Przekazanie wiedzy z zakresu architektury i mechanizmów działania współczesnych aplikacji webowych, od protokołu HTTP po proste wzorce architektoniczne, jako niezbędnego kontekstu dla zrozumienia podatności i mechanizmów ataku omawianych w dalszych przedmiotach kierunkowych. Rozwinięcie praktycznych umiejętności budowania prostej aplikacji webowej w Pythonie/C#, obejmujących rozumienie cyklu żądanie-odpowiedź, zarządzanie sesją i uwierzytelnianiem oraz identyfikację punktów podatności wynikających z architektury.

Odniesienia do frameworka edukacyjnego mikrokompetencji SFIA:
Software Development (PROG) poziom 2
Information Security (ISCO) poziom 2
Ramowe treści programowe Architektura aplikacji webowej: model klient-serwer, protokół HTTP/HTTPS i jego rola w bezpieczeństwie. Komponenty współczesnej aplikacji webowej: frontend, backend, baza danych, API - z perspektywy powierzchni ataku. Wzorzec MVC jako fundament rozumienia separacji warstw. Podstawy budowania aplikacji backendowej z użyciem wybranego stosu technologicznego. Mechanizmy uwierzytelniania i zarządzania sesją jako obszary krytyczne bezpieczeństwa. Podstawy projektowania i konsumpcji REST API. Wprowadzenie do kategorii podatności webowych jako naturalny efekt poznanej architektury.
Inne informacje o przedmiocie przedmiot ma związek z prowadzoną na Uczelni działalnością naukową
przedmiot kształtuje umiejętności praktyczne
Wyliczenie: Nakład pracy studenta związany z: Godzin
ogółem
W tym
kontaktowych
W tym
praktycznych
udziałem w wykładach 15 15
udziałem w innych formach zajęć 15 15 15
przygotowaniem do bieżących zajęć 25 25
przygotowaniem do zaliczenia wykładu 20
Razem godzin: 75 30 40
Razem punktów ECTS: 3 1.2 1.6
Zakładane kierunkowe efekty uczenia się Wiedza Umiejętności Kompetencje
społeczne
CYB1_W03 CYB1_U03
CYB1_W04 CYB1_U04
CYB1_W05 CYB1_U06
CYB1_U21
Cele i treści ramowe sformułował(a) dr inż. Anna Łupińska-Dubicka, dr inż. Marek Tabędzki Data: 08/04/2026
Realizacja w roku akademickim 2027/2028
 
Treści programowe
Wykład
1. Struktura aplikacji webowych - model klient–serwer, rola przeglądarki, serwera i bazy danych; przepływ żądania HTTP
2. Protokół HTTP/HTTPS - metody, nagłówki, kody statusu, cookies, sesje; HTTPS i TLS
3. Architektura aplikacji webowej - warstwy: prezentacja, logika biznesowa, dane; wzorzec MVC/MVT; separacja warstw jako mechanizm bezpieczeństwa
4. Frontend i DOM - HTML, CSS, JavaScript w kontekście bezpieczeństwa; Document Object Model jako cel ataku
5. Backend - frameworki webowe: routing, widoki, szablony, cykl życia żądania po stronie serwera Wariant A: Python - Flask/FastAPI, szablony Jinja2. Wariant B: C# - ASP.NET Core MVC, Razor Pages
6. Bazy danych w aplikacjach webowych - połączenie aplikacja–baza danych, ORM vs. surowe zapytania SQL; parametryzacja zapytań jako podstawowa ochrona
7. Uwierzytelnianie i zarządzanie sesją - mechanizmy: session cookies, JWT, OAuth 2.0 wprowadzenie; typowe błędy implementacji jako zapowiedź podatności; Przegląd architektury przez pryzmat OWASP Top 10
8. Zaliczenie wykładu
Pracownia specjalistyczna
1. Środowisko laboratoryjne - konfiguracja środowiska deweloperskiego (Wariant A: Python + Flask/FastAPI; Wariant B: .NET SDK + Visual Studio Code); uruchomienie PostgreSQL w kontenerze Docker; przegląd narzędzi: DevTools przeglądarki, curl, Postman/Bruno
2. Inspekcja HTTP - analiza żądań i odpowiedzi HTTP w DevTools; manipulacja nagłówkami i cookies; obserwacja różnicy HTTP vs. HTTPS
3. Implementacja aplikacji webowej - routing, widoki, szablony, uruchomienie i debugowanie prostego serwera (Wariant A: Flask + Jinja2; Wariant B: ASP.NET Core MVC + Razor Pages)
4. Formularze i walidacja danych - obsługa formularzy POST, walidacja wejścia po stronie serwera (Wariant A: ręczna walidacja + WTForms; Wariant B: Data Annotations + ModelState); demonstracja skutków braku walidacji
5. Połączenie z bazą danych - integracja aplikacji z PostgreSQL przez ORM; parametryzowane zapytania vs. podatna konkatenacja - demonstracja i naprawa (Wariant A: SQLAlchemy; Wariant B: Entity Framework Core)
6. Uwierzytelnianie i sesje - implementacja logowania z session cookies; bezpieczne przechowywanie haseł; obserwacja zawartości cookies w DevTools (Wariant A: Flask-Login + bcrypt; Wariant B: ASP.NET Core Identity + PasswordHasher)
7. REST API - budowa prostego API (GET/POST/DELETE), testowanie Postmanem, autoryzacja tokenem JWT (Wariant A: Flask/FastAPI; Wariant B: ASP.NET Core Web API / Minimal API)
8. Podsumowanie mini-projektu i prezentacja prac studentów
Metody dydaktyczne
(realizacja stacjonarna)
W wykład informacyjny, wykład problemowy, wykład z prezentacją multimedialną
Ps implementacja zadań programistycznych, implementacja aplikacji WWW
Metody dydaktyczne
(realizacja zdalna)
W wykład informacyjny, wykład problemowy, wykład z prezentacją multimedialną
-
Forma zaliczenia
W zaliczenie pisemne
Ps sprawozdanie z realizacji zadania, ocena projektu
Warunki zaliczenia
W Uzyskanie min. 30% punktów z każdego efektu uczenia się z zakresu wiedzy, a po spełnieniu tego warunku ostateczna ocena wynika z sumy uzyskanych punktów. Kryteria oceny:
[ 0 – 50]% punktów – 2.0
(50 – 60]% punktów – 3.0
(60 – 70]% punktów – 3.5
(70 – 80]% punktów – 4.0
(80 – 90]% punktów – 4.5
(90 – 100]% punktów – 5.0
Ps Uzyskanie min. 30% punktów z każdego efektu uczenia się z zakresu umiejętności, a po spełnieniu tego warunku ostateczna ocena wynika z sumy uzyskanych punktów. Kryteria oceny:
[ 0 – 50]% punktów – 2.0
(50 – 60]% punktów – 3.0
(60 – 70]% punktów – 3.5
(70 – 80]% punktów – 4.0
(80 – 90]% punktów – 4.5
(90 – 100]% punktów – 5.0
Symbol efektu Zakładane efekty uczenia się Odniesienie do efektów uczenia się zdefiniowanych dla kierunku studiów
Wiedza Umiejętności Kompetencje
społeczne
Wiedza: student zna i rozumie
E1 architekturę aplikacji webowej, protokół HTTP/HTTPS i mechanizmy działania komponentów (frontend, backend, baza danych, API) oraz wynikającą z nich powierzchnię ataku
E2 mechanizmy uwierzytelniania i zarządzania sesją w aplikacjach webowych oraz typowe błędy ich implementacji
Umiejętności: student potrafi
E3 zbudować prostą aplikację webową z backendem, obsługą formularzy, bazą danych i uwierzytelnianiem, stosując podstawowe zasady bezpiecznej implementacji
E4 analizować ruch HTTP aplikacji webowej narzędziami deweloperskimi i wskazać komponenty architektury będące potencjalnymi punktami podatności
Symbol efektu Sposób weryfikacji efektu uczenia się Forma zajęć na której zachodzi weryfikacja
E1 zaliczenie pisemne W
E2 zaliczenie pisemne W
E3 sprawozdanie z realizacji zadania, ocena projektu Ps
E4 sprawozdanie z realizacji zadania, ocena projektu Ps
Literatura podstawowa
1. M. Grinberg, Flask. Tworzenie aplikacji webowych w Pythonie, Helion, Gliwice, 2022
2. A. Lock, ASP.NET Core w akcji, wyd. 3, Helion, Gliwice, 2024
3. S. Surma, Bezpieczeństwo aplikacji webowych, Helion, Gliwice, 2021
4. D. Flanagan, JavaScript. Przewodnik, wyd. 7, Helion, Gliwice, 2021
5. OWASP Foundation, OWASP Top Ten 2021, dostępne bezpłatnie: owasp.org, 2021
6. T. Deimann, FastAPI. Nowoczesne API w Pythonie, Helion, Gliwice, 2023
7. Microsoft, ASP.NET Core documentation, [dostęp online] learn.microsoft.com, 2024
Literatura uzupełniająca
1. D. Stuttard, M. Pinto, Podręcznik hakera aplikacji webowych. Wykrywanie i wykorzystywanie luk w zabezpieczeniach, Helion, Gliwice, 2012
2. B. Burns, E. Villalón, Bezpieczeństwo aplikacji webowych w praktyce, Helion, Gliwice, 2022
3. Mozilla Developer Network, MDN Web Docs - HTTP, dostępne bezpłatnie: developer.mozilla.org, 2024
4. OWASP Foundation, OWASP Testing Guide v4.2, dostępne bezpłatnie: owasp.org, 2021
5. R. Fielding, J. Reschke, RFC 7230-7235: Hypertext Transfer Protocol (HTTP/1.1), IETF, 2014, dostępne bezpłatnie: rfc-editor.org
Koordynator przedmiotu: dr inż. Anna Łupińska-Dubicka, dr inż. Marek Tabędzki Data: 08/04/2026