Да, у такого способа есть некоторые проблемы.
Злоумышленник может использовать сервер lib и предоставить вам измененный код библиотеки.
Сначала я рекомендую вам загрузить библиотеку (или даже лучше)это добавить его в пакет через package.json
) и включить все библиотеки с вашего сервера, а не стороннего производителя.
Каждый раз, когда вы загружаете, вы можете проверять контрольную сумму библиотеки, чтобы убедиться, что она не изменена.
Это избавит вас от некоторых проблем, но злоумышленник также может изменить ваш адрес.
(он может перенаправить пользователя на свой хост вместо вашего, когда пользователь разрешает ваш адрес).
Так что лучше иметь html + js в 1 файле без перекрестной ссылки, чтобы быть более безопасным.
Этого можно достичь с помощью комплектации веб-пакетов.
Так что злоумышленник может только пойти на компромиссвсе приложение, а не 1 библиотека, это может быть сложнее.
РЕДАКТИРОВАТЬ
(Однако вариант иметь только 1 файл подходит только для небольшого проекта. Для более крупного проекта вы должны использовать ссылки для исполнения иесть немного больше риска.)
И вы можете проверить свой код (на сервере или в package.json), используя snyk , который является базой данных с открытым исходным кодом.уязвимостей.
РЕДАКТИРОВАТЬ
Еще один способ защиты - использование CSP заголовков.Они позволяют загружать контент какого-либо формата (стили, сценарии, изображения и т. Д.), Используя только определенный список источников.Это может предотвратить некоторые виды XSS .Настоятельно рекомендуется всегда использовать все типы заголовков CSP.Однако риск остается всегда: надежный источник может быть скомпрометирован, даже DNS может быть скомпрометирован.