Атрибут integrity в HTML <script>
Определение и использование
интегрность
Атрибут позволяет браузеру проверять загружаемый скрипт, чтобы убедиться, что код не загружается, если исходный код был изменен.
Поддержка целостности ресурсов (Subresource Integrity, SRI) - это спецификация W3C, которая позволяет веб-разработчикам обеспечить, что ресурсы, хранящиеся на第三方 серверах, не были изменены. Рекомендуется использовать SRI!
При использовании SRI веб-страница сохраняет хеш-значение, а сервер сохраняет файл (в данном случае .js файл). Браузер загружает файл, затем проверяет его, чтобы убедиться, что он соответствует интегрность
Hash значение атрибута совпадает. Если совпадает, используется этот файл, если не совпадает, то блокируется файл.
Вы можете использовать онлайн-генератор хэшей SRI для создания хэшей целостности: Генератор хэшей SRI.
Пример
Одновременно использовать атрибуты integrity и crossorigin, чтобы ссылаться на CDN:
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"> </script>
Грамматика
<script integrity="filehash">
Значение атрибута
Значение | Описание |
---|---|
filehash | Хэш-значение файла внешнего скрипта. |
Поддержка браузерами
Числа в таблице указывают на версию первого браузера, который полностью поддерживает этот атрибут.
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
45.0 | 17.0 | 43.0 | 13.0 | 66.0 |