Что такое Целостность Подресурсов (SRI)?
Целостность Подресурсов (SRI) — это функция безопасности, которая позволяет браузерам проверять, что файлы, которые они загружают (например, с CDN), не были неожиданно изменены. Она работает путем сравнения криптографического хеша ресурса с хешем, предоставленным в HTML.
Как это работает:
- Создайте криптографический хеш вашего файла ресурса
- Включите хеш в атрибут integrity тегов script или link
- Браузер загружает ресурс и вычисляет его хеш
- Браузер сравнивает вычисленный хеш с предоставленным хешем
- Если хеши совпадают, ресурс загружается; если нет, загрузка блокируется
Преимущества:
- Безопасность: Защищает от злонамеренных изменений сторонних ресурсов
- Защита CDN: Обеспечивает, что файлы, предоставляемые CDN, не были изменены
- Безопасность цепочки поставок: Проверяет целостность внешних зависимостей
- Поддержка браузеров: Широко поддерживается современными браузерами
Поддерживаемые алгоритмы:
- SHA-256 (рекомендуемый минимум)
- SHA-384 (рекомендуется)
- SHA-512 (максимальная безопасность)