В соответствии с описанием PortSwigger *1002* той же политики происхождения (см. Ниже), JavaScript на странице не может прочитать содержимое загруженных междоменных ресурсов, таких как <img>
, <video>
и <script>
на этой странице.
Однако ответы типа this гласят:
, когда mysite.com открывает тег, этот сценарий запускается в области действия текущей страницы.
или формулируется иначе:
Источник сценария находится там, где он включен.
Итак, что именно означает PortSwigger? Если код JavaScript на странице не может прочитать содержимое <script>
s, то как jQuery и другие JavaScript каркасы, загруженные из CDN, могут использоваться на страницах?
Как Реализована ли политика одного и того же происхождения? (PortSwigger)
Политика того же происхождения обычно контролирует доступ, который код JavaScript имеет к контенту, загруженному междоменным. Загрузка ресурсов страниц из разных источников обычно разрешена. Например, SOP позволяет встраивать изображения с помощью тега <img>
, мультимедиа - с помощью тега <video>
, а JavaScript - с тегом <script>
. Однако, хотя эти внешние ресурсы могут быть загружены страницей, любой JavaScript на странице не сможет прочитать содержимое этих ресурсов.