htmlspecialchars

funkcja

Zamienia znaki specjalne HTML na encje — kluczowa ochrona przed XSS. Używaj zawsze przy wyświetlaniu danych od użytkownika.

htmlspecialchars(string $string, int $flags = ENT_QUOTES|ENT_SUBSTITUTE|ENT_HTML401, ?string $encoding = null, bool $double_encode = true): string

htmlspecialchars konwertuje znaki specjalne HTML (<, >, &, ", ') na bezpieczne encje (&lt;, &gt;, &amp;, &quot;, &#039;). To podstawowa ochrona przed atakami XSS (Cross-Site Scripting) — zawsze używaj jej, gdy wyświetlasz dane pochodzące od użytkownika lub z zewnętrznego źródła.

<?php
declare(strict_types=1);

$wejscie = '<script>alert("hack")</script>';

// BEZ htmlspecialchars — niebezpieczne (przeglądarka wykona skrypt!):
// echo $wejscie;

// Z htmlspecialchars — bezpieczne:
echo htmlspecialchars($wejscie, ENT_QUOTES, 'UTF-8');
// wynik: &lt;script&gt;alert(&quot;hack&quot;)&lt;/script&gt;

// Najczęstszy wzorzec przy wyświetlaniu danych z formularza:
$imie = $_POST['imie'] ?? '';
echo htmlspecialchars($imie, ENT_QUOTES, 'UTF-8');
📘 Naucz się w lekcji →