php


Bezpieczeństwo aplikacji webowych to najważniejszy aspekt tworzenia profesjonalnych systemów. Nawet najpiękniejszy kod nie ma sensu, jeśli pozwala hakerom ukraść dane użytkowników, przejąć konta lub zniszczyć bazę danych. Najczęstsze zagrożenia (OWASP Top 10): 1. SQL Injection – Wstrzykiwanie kodu SQL SQL Injection to atak polegający na wstawieniu złośliwego kodu SQL do zapytania, co pozwala: Przykład ataku – Logowanie Kod podatny na atak (NIGDY TAK NIE RÓB!): Co się stanie gdy haker wpisze: Zapytanie SQL stanie się: […]

22. PHP – bezpieczeństwo aplikacji webowych


Szybki quiz – przypomnienie poprzedniej lekcji Lekcja 18: połączenie z bazą, SELECT, prepared statements, SQL injection. TaskQuest Dodatek W poprzednim materiale nauczyłeś się pobierać dane z bazy używając zapytań SELECT. Teraz czas na operacje, które zmieniają dane: Te operacje są fundamentem każdej aplikacji: UWAGA: Operacje zmieniające dane są nieodwracalne! Zawsze używaj prepared statements i walidacji danych. Będziemy pracować na […]

19. PHP – skrypty zmieniające dane w bazie danych – ...


Szybki quiz – przypomnienie poprzedniej lekcji Lekcja 17: bazy danych, mysqli i PDO, projekt tabel TaskQuest. Odpowiedz z pamięci. TaskQuest Dodatek Bazy danych to fundament większości aplikacji webowych. Za każdym razem gdy: W tym materiale nauczysz się pobierać dane z bazy MySQL/MariaDB używając PHP. To podstawowa umiejętność, którą musisz opanować przed nauką […]

18. PHP – łączenie z bazą i operacje SELECT



Szybki quiz – przypomnienie poprzedniej lekcji Lekcja 15: klasy i obiekty. Odpowiedz bez uruchamiania kodu. 1. Co wyświetli ten kod? 2. Zadanie ma właściwość private string $tytul i metodę pobierzTytul(). Co się stanie po wykonaniu echo $zadanie->tytul;? 3. Czy ten kod utworzy poprawny obiekt? Dlaczego? 4. Co wyświetli ostatnia linia, […]

17. PHP – współpraca z bazami danych


Stwórz klasę `Pesel`, która będzie walidować i dekodować numer PESEL podany przez użytkownika. Założenie jest takie, że po wpisaniu przez użytkownika nr PESEL zostanie sprawdzona jego poprawność i wyświetlona informacja w formacie: Numer PESEL składa się z 11 cyfr:– Cyfry 1-2: Rok urodzenia (dwie ostatnie cyfry)– Cyfry 3-4: Miesiąc urodzenia […]

16. Zadanie z OOP podsumowujące dotychczasowe tematy.


Szybki quiz – przypomnienie poprzedniej lekcji Lekcja 14: cookies i sesje. Odpowiedz z pamięci, bez zaglądania do kodu. 1. Co wyświetli ten skrypt przy pierwszym otwarciu strony, a co przy drugim? 2. Znajdź błąd i powiedz, jaki komunikat zobaczy użytkownik: 3. W TaskQuest login zalogowanego użytkownika trzymamy w sesji, a […]

15. PHP – obiektowo



Szybki quiz – przypomnienie poprzedniej lekcji Lekcja 13: formularze HTML, metody GET i POST, walidacja w PHP, przekierowanie po zapisie. 1. Co wypisze ten kod przy pierwszym wejściu na stronę (zwykłe GET), a co po wysłaniu formularza z polem xp = 50? 2. Po wysłaniu formularza $_POST['tytul'] nie istnieje. Gdzie […]

14. PHP – obsługa cookies i sesje


Szybki quiz – przypomnienie poprzedniej lekcji Lekcja 12: wyjątki (throw, try, catch, finally). Odpowiedz z pamięci, bez zaglądania do kodu. 1. Co zostanie wypisane? 2. Znajdź błąd. Dlaczego ten kod nie zatrzymuje zapisu ujemnej nagrody? 3. Dla każdej sytuacji odpowiedz: wyjątek czy zwykła wartość zwrócona z funkcji? a) pliku data/zadania.csv […]

13. PHP – odbieranie danych z przeglądarki – formularze html, ...


Szybki quiz – przypomnienie poprzedniej lekcji Lekcja 11 – operacje na plikach. Odpowiedz z pamięci, bez zaglądania do kodu. 1. Czym różni się tryb 'w' od 'a' w fopen()? Który z nich skasuje dotychczasową zawartość pliku? 2. Co znajdzie się w pliku log.txt po wykonaniu tego kodu? 3. Znajdź dwa […]

12. PHP – wyjątki, try…catch…



Szybki quiz – przypomnienie poprzedniej lekcji Sprawdź, czy pamiętasz Lekcję 10 (dołączanie plików, ścieżki, katalogi). Odpowiedzi znajdziesz na końcu dodatku. 1. Plik includes/funkcje_zadan.php jest dołączany w index.php i w diagnostyka.php. Której z czterech instrukcji (include, include_once, require, require_once) należy użyć i co stanie się, jeśli użyjesz require bez _once, a […]

11. PHP – Operacje na plikach