Atrybut integrity w HTML <script>
Definicja i użycie
integrity
Atrybut pozwala przeglądarce sprawdzać pobrany skrypt, aby upewnić się, że skrypt nie zostanie załadowany, jeśli kod źródłowy zostanie oszukany.
Integność zasobów podręcznych (Subresource Integrity, SRI) to specyfikacja W3C, która pozwala deweloperom internetowym zapewnić, że zasoby przechowywane na serwerach trzecich nie zostały zmodyfikowane. Zaleca się użycie SRI!
Podczas użycia SRI, strona internetowa zapisuje wartość hash, a serwer zapisuje plik (w tym przypadku plik .js). Przeglądarka pobiera plik, a następnie sprawdza go, aby upewnić się, że zgadza się z integrity
Wartość hash w atrybutach zgadza się. Jeśli zgadza się, użyje się tego pliku, jeśli nie, blokada pliku.
Możesz użyć online generatora hashów SRI do generowania wartości hashu integralności: Generator hashów SRI.
Przykład
Równocześnie używając atrybutów integrity i crossorigin, łączyć się z CDN:
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"> </script>
Gramatyka
<script integrity="filehash">
Wartość atrybutu
Wartość | Opis |
---|---|
filehash | Wartość hash pliku skryptu zewnętrznego. |
Obsługa przeglądarek
Liczby w tabeli wskazują na pierwszą wersję przeglądarki, która w pełni obsługuje tę właściwość.
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
45.0 | 17.0 | 43.0 | 13.0 | 66.0 |