Filtrowanie danych
Założenie: Pokażemy, jak bezpiecznie wyświetlać dane pochodzące z formularza, unikając ataków XSS (Cross-Site Scripting).
Krok po kroku:
- Odbieranie danych z formularza: Załóżmy, że użytkownik wpisał swoje imię w formularzu. Odbierzemy tę wartość za pomocą zmiennej
$_POST['imie']
. Pamiętaj, że$_POST
jest tablicą asocjacyjną przechowującą dane przesłane metodą POST. - Filtrowanie danych: Użyjemy funkcji `htmlspecialchars()` do zamiany specjalnych znaków HTML na ich odpowiedniki w postaci encji HTML. To zapobiega wykonaniu kodu JavaScript wstawionego przez użytkownika.
- Wyświetlanie danych: Teraz możemy bezpiecznie wyświetlić przefiltrowane imię.
$imie = $_POST['imie'];
$bezpieczneImie = htmlspecialchars($imie, ENT_QUOTES, 'UTF-8');
Funkcja htmlspecialchars()
przyjmuje trzy argumenty: wartość do filtrowania, flagę ENT_QUOTES
(zamienia zarówno pojedyncze, jak i podwójne cudzysłowy), oraz kodowanie znaków UTF-8
.
echo "Witaj, " . $bezpieczneImie . "!";
Dzięki funkcji htmlspecialchars()
, nawet jeśli użytkownik wprowadzi szkodliwy kod JavaScript, zostanie on wyświetlony jako zwykły tekst, a nie wykonany.
Ten przykład pokazuje podstawy filtrowania danych w celu zapobiegania atakom XSS. Pamiętaj, że bezpieczeństwo aplikacji wymaga kompleksowego podejścia i stosowania wielu technik zabezpieczających. Zachęcamy do dalszego zgłębiania tematu bezpieczeństwa w PHP!