Przejdź do treści głównej
INF.03Backend & PHP

Sanitizacja i ochrona przed XSS (htmlspecialchars, strip_tags)

Funkcje PHP służące do neutralizacji znaków specjalnych HTML i usuwania znaczników w celu ochrony aplikacji przed atakami Cross-Site Scripting (XSS).

Główne funkcje sanitizacji w PHP:

  • htmlspecialchars($tekst, ENT_QUOTES, 'UTF-8') – zamienia znaki specjalne HTML na encje (np. < na &lt;, > na &gt;, " na &quot;). Zabezpiecza przed wykonaniem wstrzykniętego kodu JavaScript.
  • strip_tags($tekst) – całkowicie wycina tagi HTML i PHP z przekazanego tekstu.
  • filter_var($email, FILTER_VALIDATE_EMAIL) – weryfikuje poprawność adresu e-mail, adresu URL lub liczby.
PHP
<?php
$daneOdUzytkownika = "<script>alert('Atak XSS!');</script> Witaj!";

// Bezpieczne wyświetlenie na stronie:
echo htmlspecialchars($daneOdUzytkownika, ENT_QUOTES, 'UTF-8');
// W przeglądarce wyrenderuje się jako bezpieczny tekst: &lt;script&gt;...

// Walidacja e-maila:
$email = "test@example.com";
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo "Poprawny e-mail.";
}

Najczęstsze pułapki na egzaminie INF.03:

  • htmlspecialchars() stosujemy przy wyświetlaniu danych w kodzie HTML, natomiast do bazy SQL dane zabezpieczamy za pomocą Prepared Statements w PDO.

Chcesz sprawdzić to pojęcie w praktyce?

Przeszukaj pytania z oficjalnych arkuszy CKE powiązane z hasłem Sanitizacja i ochrona przed XSS (htmlspecialchars, strip_tags) lub rozpocznij trening.