Sanitizacja adresu email
Założenie: Nauczymy się, jak bezpiecznie oczyszczać adresy email z potencjalnie szkodliwych danych, aby zapobiec atakom typu XSS i innym zagrożeniom.
Krok po kroku:
- Użycie funkcji `filter_var()` z filtrem `FILTER_SANITIZE_EMAIL`
$email = "test@example.com"; $sanitizedEmail = filter_var($email, FILTER_SANITIZE_EMAIL); echo $sanitizedEmail; // Wyświetli: test@example.com
Funkcja `filter_var()` z filtrem `FILTER_SANITIZE_EMAIL` usuwa niedozwolone znaki z adresu email, pozostawiając tylko dozwolone znaki alfanumeryczne, kropki i znak @.
- Dodatkowa walidacja za pomocą `filter_var()` z filtrem `FILTER_VALIDATE_EMAIL`
$email = "test@example.com"; $sanitizedEmail = filter_var($email, FILTER_SANITIZE_EMAIL); if (filter_var($sanitizedEmail, FILTER_VALIDATE_EMAIL)) { echo "Adres email jest poprawny: " . $sanitizedEmail; } else { echo "Adres email jest niepoprawny."; }
Po oczyszczeniu adresu email, warto dodatkowo sprawdzić jego poprawność za pomocą filtru `FILTER_VALIDATE_EMAIL`. To zapewnia, że adres ma poprawny format.
- Przykład z potencjalnie szkodliwym adresem email
$email = "test<script>alert('XSS')</script>@example.com"; $sanitizedEmail = filter_var($email, FILTER_SANITIZE_EMAIL); echo $sanitizedEmail; // Wyświetli: test@example.com
Jak widać, funkcja `FILTER_SANITIZE_EMAIL` skutecznie usuwa szkodliwy kod JavaScript.
Ten przykład pokazuje podstawowe techniki sanitizacji adresów email w PHP. Pamiętaj, że bezpieczeństwo aplikacji wymaga kompleksowego podejścia, a sanitizacja jest tylko jednym z elementów.