Sanityzacja danych z formularza
Założenie: Oczyścić dane otrzymane z formularza, aby zapobiec atakom XSS i innym zagrożeniom bezpieczeństwa.
Krok po kroku:
- Pobranie danych z formularza: Załóżmy, że formularz przesłał dane metodą POST. Możemy pobrać je za pomocą zmiennych superglobalnych
$_POST
. - Sanityzacja danych za pomocą funkcji `filter_input()`: Funkcja
filter_input()
pozwala na filtrowanie danych wejściowych, w tym sanityzację. Użyjemy jej do oczyszczenia imienia i adresu email. - Walidacja danych (opcjonalnie): Po sanityzacji warto dodatkowo zwalidować dane, aby upewnić się, że spełniają one określone kryteria (np. poprawny format email).
- Wyświetlenie zsanitowanych danych: Teraz możemy bezpiecznie wyświetlić oczyszczone dane.
$imie = $_POST['imie'];
$email = $_POST['email'];
$imie = filter_input(INPUT_POST, 'imie', FILTER_SANITIZE_STRING);
$email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo "Adres email jest poprawny.";
} else {
echo "Adres email jest niepoprawny.";
}
echo "Imię: " . htmlspecialchars($imie) . "
";
echo "Email: " . htmlspecialchars($email);
Pamiętaj, że htmlspecialchars()
jest niezbędne do bezpiecznego wyświetlania danych w HTML, zapobiegając atakom XSS.
Ten przykład pokazuje podstawy sanityzacji danych w PHP. Zachęcamy do dalszego zgłębiania tematu, aby zapewnić bezpieczeństwo swoim aplikacjom.