Sanityzacja danych z formularza przed ich przetworzeniem

Założenie: Przed zapisaniem danych z formularza do bazy danych lub wyświetleniem ich na stronie, musimy je oczyścić, aby zapobiec atakom XSS i SQL injection.

Krok po kroku:

  1. Pobranie danych z formularza: Załóżmy, że formularz przesłał dane metodą POST. Możemy pobrać je za pomocą zmiennych superglobalnych $_POST.
  2. 
    $imie = $_POST['imie'];
    $email = $_POST['email'];
    				
  3. Sanityzacja danych: Użyjemy funkcji `htmlspecialchars()` do konwersji specjalnych znaków HTML na ich odpowiedniki encji HTML. Chroni to przed atakami XSS.
  4. 
    $imie_bezpieczne = htmlspecialchars($imie, ENT_QUOTES, 'UTF-8');
    $email_bezpieczny = htmlspecialchars($email, ENT_QUOTES, 'UTF-8');
    				
  5. Walidacja danych (opcjonalnie): Możemy dodać walidację, aby upewnić się, że dane są poprawne. Na przykład, możemy sprawdzić, czy adres email jest poprawny za pomocą wyrażenia regularnego.
  6. 
    if (!filter_var($email_bezpieczny, FILTER_VALIDATE_EMAIL)) {
      echo "Nieprawidłowy adres email!";
    }
    				
  7. Użycie zsanityzowanych danych: Teraz możemy bezpiecznie użyć zsanityzowanych danych do wyświetlenia na stronie lub zapisu do bazy danych.
  8. 
    echo "Witaj, " . $imie_bezpieczne . "! Twój email: " . $email_bezpieczny;
    				

Ten przykład pokazuje podstawy sanityzacji danych w PHP. Pamiętaj, że to tylko początek – istnieją bardziej zaawansowane techniki, które należy stosować w zależności od kontekstu.

Dodaj komentarz 0

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