Атрибут integrity тега <script>


Описание

Атрибут integrity обеспечивает проверку целостности загружаемого скрипта путем сравнения его хэша с указанным значением. Это защищает от подмены скриптов при загрузке с внешних ресурсов.

Пример использования:
<script src="https://cdn.example.com/script.js" integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC" crossorigin="anonymous"> </script>

Ключевые характеристики:

Параметр Описание
Алгоритмы хеширования sha256, sha384, sha512
Формат значения префикс-алгоритм + хэш в base64
Поддержка браузеров Все современные браузеры (кроме IE)

Как сгенерировать хэш:

Для генерации SRI-хэша:

  1. Откройте терминал
  2. Выполните команду:
    openssl dgst -sha384 -binary файл.js | openssl base64 -A
  3. Используйте полученное значение в атрибуте integrity

Рекомендации по применению:

  • Всегда используйте вместе с crossorigin="anonymous"
  • Обновляйте хэш при изменении скрипта
  • Оптимальный алгоритм - sha384
  • Проверяйте поддержку в целевых браузерах

Обработка ошибок:

При несовпадении хэша:

  • Скрипт не выполняется
  • В консоль выводится сообщение об ошибке
  • Генерируется событие error

Важно: Этот атрибут критически важен для безопасности при использовании:

  • Сторонних библиотек (jQuery, Bootstrap)
  • Скриптов аналитики
  • Ресурсов с CDN
  • Критически важных приложений