Sanitizacja danych formularza

Założenie: Pokażemy, jak bezpiecznie przetwarzać dane wprowadzone przez użytkownika w formularzu, unikając luk bezpieczeństwa.

Krok po kroku:

  1. Odbieranie danych z formularza: Załóżmy, że formularz przesłał dane metodą POST. Odbierzemy imię i wiek użytkownika.
  2. 
    $imie = $_POST['imie'];
    $wiek = $_POST['wiek'];
    				

    Ten kod pobiera wartości z pól formularza o nazwach “imie” i “wiek”. `$_POST` jest tablicą asocjacyjną zawierającą dane przesłane metodą POST.

  3. Sanitizacja danych: Użyjemy funkcji `filter_input()` do oczyszczenia danych z potencjalnie szkodliwego kodu.
  4. 
    $imie = filter_input(INPUT_POST, 'imie', FILTER_SANITIZE_STRING);
    $wiek = filter_input(INPUT_POST, 'wiek', FILTER_SANITIZE_NUMBER_INT);
    				

    Funkcja `filter_input()` sprawdza, czy dane pochodzą z `INPUT_POST` (dane z formularza POST), a następnie stosuje filtr `FILTER_SANITIZE_STRING` dla imienia (usuwa znaki HTML i inne potencjalnie niebezpieczne) oraz `FILTER_SANITIZE_NUMBER_INT` dla wieku (pozostawia tylko liczby całkowite).

  5. Walidacja danych: Sprawdzimy, czy dane są poprawne.
  6. 
    if (empty($imie) || empty($wiek)) {
      echo "Proszę wypełnić wszystkie pola!";
    } else if ($wiek < 0 || $wiek > 120) {
      echo "Nieprawidłowy wiek!";
    } else {
      echo "Imię: " . $imie . "
    "; echo "Wiek: " . $wiek . " lat"; }

    Ten kod sprawdza, czy pola nie są puste i czy wiek jest w rozsądnym zakresie. W przeciwnym wypadku wyświetla komunikat o błędzie.

Ten przykład pokazuje podstawy sanitizacji danych w PHP. Pamiętaj, że zawsze należy walidować i sanitizować dane wejściowe, aby zapobiec atakom XSS i innym zagrożeniom bezpieczeństwa.

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *