Subresource Integrity или SRI — это рекомендация W3C по предоставлению метода защиты доставки веб-сайта. В частности, он проверяет активы, обслуживаемые третьей стороной, например, сетью доставки контента (CDN). Это гарантирует, что эти активы не были скомпрометированы во враждебных целях.
Чтобы использовать SRI, автор веб-сайта, желающий включить ресурс третьей стороны, может указать криптографический хэш ресурса в дополнение к местоположению ресурса. Браузеры, извлекающие ресурс, могут затем сравнить хэш, предоставленный автором веб-сайта, с хэшем, вычисленным из ресурса. Если хэши не совпадают, ресурс отбрасывается. [1]
Пример script
элемента с атрибутом integrity
, crossorigin
используемым SRI:
< скрипт src = "https://cdn.example.com/app.js" integrity = "sha384-+/M6kredJcxdsqkczBUjMLvqyHb1K/JThDXWsBVxMEeZHEaMKEOEct339VItX1zB" crossorigin = "anonymous" ></ скрипт >