X-XSS-Protection

X-XSS-Protection

Hlavička umožňuje nastavit konfiguraci XSS filtrů zabudovaných v prohlížeči.

Hlavička X-XSS-Protection povoluje využití zabudovaného filtru proti XSS (cross-site scripting attacks). Hlavička je podporována prohlížeči: IE od 8+, Opera, Chrome a Safari.

Proč používat X-XSS-Protection

I když máte perfektně ošetřeny v aplikaci vstupy, hlavička X-XSS-Protecton funguje jako další vrstva zabezpečení proti XSS útokům. Tento příznak vynucuje použití XSS filtru, který je sice v prohlížečích často defaultně nastavený, ale uživatel si jej může vypnout.

Definice hlavičky X-XSS-Protection

Zakázáný filtr
X-XSS-Protection: 0;
Ochrana XSS je aktivována, prohlížeč se bude snažit stránku čistit a opravit
X-XSS-Protection: 1;
Ochrana XSS je aktivována, prohlížeč při útoku stránku nezobrazí
X-XSS-Protection: 1; mode=block
Ochrana XSS je aktivována, prohlížeč reportuje porušení pravidel
X-XSS-Protection: 1; report=<reporting-uri>

Prohlížeč neblokuje stránku, ale pokusí se ji vyčistit a opravit. Současně provede reporting útoku. Reportování lze využít pouze u Chrome a prohlížečích postavených na jádru WebKit. Data potenciálních XSS útoků jsou odesílány v JSON formátu na uvedenou adresu.

Nastavení X-XSS-Protection

.htaccess
# X-XSS-Protection settings
Header set X-XSS-Protection "1; mode=block"
Reportování na doménu
Header set X-XSS-Protection "1; report=https://domenaxyz.cz/report"
Nginx
add_header X-XSS-Protection "1; mode=block";

Potenciální chyby v nastavení

X-XSS-Protection "0; mode=block" Chybná konfigurace. 0 zakáže ochranu, avšak Chrome zachová výchozí ochranu XSS.
X-XSS-Protection "1 mode=block" Informace musí být odděleny středníkem. XSS bude aktivováno, "mode=block" bude považováno za neplatné.

Chyba Error parsing header X-XSS-Protection: 1;mode=block, 1; mode=block: expected semicolon at character position 12. The default protections will be applied. Chyba zobrazená v Developer Console (Chrome). Server již posílá hlavičku X-XSS-Protection sám, zrušte vlastní nastavení.

Užitečné zdroje

Úspěšné odchycení XSS útoku
Chrome - ošetření XSS útoku