Webspire

Administrační systém

Subresource integrity (SRI) pro CSS a JS

Do balíčku nw7 byla přidána podpora pro generování Subresource Integrity (SRI) hashů pro CSS a JS soubory. Cílem je zamezit možnosti jejich podvržení - prohlížeč při stažení souborů zkontroluje, jestli jejich hash souhlasí s tím, uvedeným ve zdrojovém kódu stránky a pokud nikoliv, tak soubor se styly nebo skripty ignoruje.

Řešení je postaveno na službě SriGenerator, která umí vygenerovat hash pro konkrétní soubor. SriGenerátoru se využívá v JsBootstrapControlu a CssLoaderu, které se starají o vypsání značek pro vložení stylů a skriptů do zdrojového kódu. Pro hashování se používá SHA512, který musí být dle specifikace podporován všemi prohlížeči, které SRI implementují.

Tato implementaci SRI neřeší vkládané skripty a styly třetích stran - u těch je problematické generování hashů v případě, kdy styl/skript není verzovaný (např. Google Analytics).

Specifikace Subresource Integrity

###message