Есть ли способ указать целостность скриптов модулей?

Я использую целостность подресурсов для обычных скриптов на своей странице, но в настоящее время не для модулей JavaScript.

Я предполагаю, что указание целостности модуля, включенного в тег script, работает следующим образом: Что такое атрибуты целостности и перекрестного происхождения?, только с дополнительным type="module". Это верно?

Как указать целостность модулей, включенных в другие модули (например, с помощью import * as blah from "blah.js";)?

Есть ли способ указать целостность этого импорта? Можно ли указать их все в одном месте в HTML (например, в предварительной загрузке модуля), чтобы, если модуль глубоко внутри изменился, не все соединения модулей, использующих их, также изменились?


person swift-lynx    schedule 22.07.2020    source источник
comment
Обратите внимание, что на самом деле есть способ, пока только в браузерах Blink.   -  person Kaiido    schedule 22.07.2020
comment
@Kaiido Да, я пока им пользуюсь. К сожалению, на данный момент его поддерживают только мигающие браузеры...   -  person swift-lynx    schedule 22.07.2020


Ответы (1)


Атрибут целостности AFAIK используется для проверки того, что содержимое на другом сервере остается прежним (такая же SHA-сумма, без манипуляций).

Таким образом, вы должны использовать это для включения ресурсов, размещенных на стороннем сервере, таком как CDN.

Если файлы, которые вы импортируете * как blah, поступают из вашего локального каталога, вероятно, не требуется проверка на манипуляции, если вы хотите проверить целостность, вы можете просто добавить их с тегом script или посмотреть ссылку ниже:

Целостность подресурса для импорта es6

в конце это просто сравнение ша-суммы файла, вы можете сделать это самостоятельно

В этой ссылке в основном все сказано об этом https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity

person john Smith    schedule 22.07.2020