Атрибут целостности HTML <script>
Пример
Ссылка на CDN с использованием атрибутов целостности и перекрестного происхождения:
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin="anonymous">
</script>
Определение и использование
Атрибут integrity
позволяет браузеру проверять загруженный скрипт, чтобы убедиться, что код никогда не будет загружен, если исходный код был изменен.
Subresource Integrity (SRI) — это спецификация W3C, которая позволяет веб-разработчикам гарантировать, что ресурсы, размещенные на сторонних серверах, не были изменены. Рекомендуется использовать SRI!
При использовании SRI веб-страница содержит хэш, а сервер хранит файл (в данном случае файл .js). Браузер загружает файл, затем проверяет его, чтобы убедиться, что он совпадает с хешем в integrity
атрибуте. Если он совпадает, файл используется, а если нет, файл блокируется.
Вы можете использовать онлайн-генератор хэшей SRI для создания хэшей целостности: SRI Hash Generator
Поддержка браузера
Цифры в таблице указывают на первую версию браузера, которая полностью поддерживает этот атрибут.
Attribute | |||||
---|---|---|---|---|---|
integrity | 45.0 | 17.0 | 43.0 | 13.0 | 66.0 |
Синтаксис
<script integrity="filehash">
Значения атрибутов
Value | Description |
---|---|
filehash | The file hashing value of the external script file |
❮ HTML-тег <script>