Ćwiczenie – Bezpieczeństwo danych w PHP i MySQL (INF.03)
1. Filtrowanie i walidacja danych wejściowych
Cel: Uczeń potrafi filtrować dane wprowadzane przez użytkownika. Opis: W PHP dane z formularzy mogą być niebezpieczne, dlatego należy je filtrować i sprawdzać zanim zostaną użyte.
Filtrowanie danych chroni aplikację przed niepoprawnym i szkodliwym wejściem.
2. Zabezpieczenie przed SQL Injection
Cel: Uczeń potrafi zabezpieczyć zapytania SQL przed wstrzyknięciem danych. Opis: SQL Injection to metoda ataku polegająca na wstrzyknięciu kodu SQL do zapytania.
Najlepszym sposobem ochrony jest stosowanie przygotowanych zapytań (Prepared Statements).
Cel: Uczeń potrafi bezpiecznie zapisywać i sprawdzać hasła użytkowników. Opis: Hasła należy zapisywać w bazie w formie zaszyfrowanej (hash).
PHP posiada funkcje password_hash() i password_verify().
Hasła nigdy nie powinny być przechowywane w formie jawnej!
4. Tworzenie dynamicznego raportu z filtrowaniem
Cel: Uczeń potrafi tworzyć raporty z możliwością wyszukiwania danych bezpiecznie. Opis: Dane z bazy są pobierane z wykorzystaniem przygotowanych zapytań i filtrowania.