Przejdź do głównej zawartości

Walidacja danych po stronie serwera

Walidacja serwerowa

Walidacja po stronie serwera to proces sprawdzania poprawnosci danych przychodzacych od użytkownika zanim zostaną przetworzone lub zapisane. Jest to ostatnia linia obrony przed błędnymi lub złośliwymi danymi. Nawet jeśli walidacja JavaScript zostanie pominieta, serwer musi zweryfikowac wszystkie dane.

  • Bezpieczeństwo aplikacji - walidacja serwerowa jest niepominalna, w przeciwienstwie do klienckiej
  • Integralnosc danych - zapobiega zapisywaniu niepoprawnych danych w bazie
  • Profesjonalizm - każdy programista backend musi opanowac te techniki
  1. Rozumiec dlaczego walidacja kliencka nie wystarczy
  2. Umiec wyjaśnić różnicę miedzy walidacja a sanityzacja
  3. Potrafic pokazac przykłady walidacji typow, długości i zakresow w PHP
  4. Wiedzieć, jak stosowac funkcje filter_var() i własne reguły walidacji
  1. Definicja walidacji

    • Czym jest walidacja danych
    • Cel i znaczenie w aplikacjach webowych
  2. Walidacja vs sanityzacja

    • Walidacja sprawdza poprawnosc
    • Sanityzacja czysci/modyfikuje dane
    • Kiedy stosowac każda z nich
  3. Zagrożenia przy braku walidacji

    • Wstrzykniecie kodu (SQL Injection, XSS)
    • Nieprawidłowe dane w bazie
    • Błędy logiczne aplikacji
  4. Techniki walidacji w PHP

    • Sprawdzanie pustych pol (empty, isset)
    • Walidacja typow danych
    • Walidacja długości i zakresow
    • Użycie filter_var() z filtrami

Przykład 1

Sprawdzenie pustych pol - użyj empty() i isset() do weryfikacji obecnosci danych

Przykład 2

Walidacja email - użyj filter_var() z FILTER_VALIDATE_EMAIL

Przykład 3

Walidacja liczby i zakresu - sprawdz czy wartość jest liczba w dopuszczalnym zakresie

Przykład 4

Whitelista wartości - sprawdz czy wartość należy do dozwolonych opcji

  • Tworzenie własnych funkcji walidujacych
  • Walidacja z wyrazeniami regularnymi (preg_match)
  • Zbieranie i wyswietlanie błędów walidacji
  • Walidacja plikow (typ MIME, rozmiar)
  • Porownanie z bibliotekami walidacji (np. Respect/Validation)
  1. Wstep (0.5 strony) - znaczenie walidacji w aplikacjach webowych
  2. Walidacja vs sanityzacja (1 strona) - definicje, różnicę, przykłady
  3. Zagrożenia (1 strona) - co się dzieje bez walidacji
  4. Techniki walidacji w PHP (1.5 strony) - funkcje, przykłady kodu
  5. Dobre praktyki (0.5 strony) - zasady skutecznej walidacji
  6. Podsumowanie (0.5 strony)
  7. Bibliografia
  1. Dlaczego walidacja w JavaScript nie wystarczy do ochrony aplikacji?
  2. Jaka jest różnica miedzy walidacja a sanityzacja danych?
  3. Jak walidować dozwolone wartości z listy (np. z pola select)?
  4. Jakie filtry oferuje funkcja filter_var() w PHP?
  5. Co się stanie, jeśli nie zwalidujemy danych przed zapisem do bazy?
  6. Jak zbierac i wyświetlać błędy walidacji użytkownikowi?

To więcej niz praca zaliczeniowa

Opracowanie tego tematu to szansa, by naprawde zrozumiec dlaczego walidacja serwerowa jest fundamentem bezpiecznych aplikacji.

Wykorzystaj lekcje - konsultuj watpliwosci, pokazuj postepy! Pracuj iteracyjnie - outline -> draft -> kod -> redakcja