Предыдущая версия справа и слеваПредыдущая версия | |
software:development:web:docs:web:security:same-origin_policy [2023/08/30 14:20] – [Window] vladpolskiy | software:development:web:docs:web:security:same-origin_policy [2023/08/30 14:27] (текущий) – [Доступ к API сценариев из разных источников] vladpolskiy |
---|
* Чтобы предотвратить встраивание из разных источников, убедитесь, что ваш ресурс не может быть интерпретирован как один из встраиваемых форматов, перечисленных выше. Браузеры могут не учитывать Content-Typeзаголовок. Например, если вы укажете ''<script>'' тег на HTML-документ, браузер попытается проанализировать HTML как JavaScript. Если ваш ресурс не является точкой входа на ваш сайт, вы также можете использовать токен CSRF для предотвращения внедрения. | * Чтобы предотвратить встраивание из разных источников, убедитесь, что ваш ресурс не может быть интерпретирован как один из встраиваемых форматов, перечисленных выше. Браузеры могут не учитывать Content-Typeзаголовок. Например, если вы укажете ''<script>'' тег на HTML-документ, браузер попытается проанализировать HTML как JavaScript. Если ваш ресурс не является точкой входа на ваш сайт, вы также можете использовать токен CSRF для предотвращения внедрения. |
=====Доступ к API сценариев из разных источников===== | =====Доступ к API сценариев из разных источников===== |
API JavaScript iframe.contentWindow, такие как window.parent, window.open, и window.openerпозволяют документам напрямую ссылаться друг на друга. Когда два документа имеют разное происхождение, эти ссылки обеспечивают очень ограниченный доступ к объектам Windowи Location, как описано в следующих двух разделах. | API JavaScript [[software:development:web:docs:Web:API:HTMLIFrameElement:contentWindow|iframe.contentWindow]], такие как [[software:development:web:docs:Web:API:Window:parent|window.parent]], [[software:development:web:docs:Web:API:Window:open|window.open]], и [[software:development:web:docs:Web:API:Window:opener|window.opener]] позволяют документам напрямую ссылаться друг на друга. Когда два документа имеют разное происхождение, эти ссылки обеспечивают очень ограниченный доступ к объектам [[software:development:web:docs:Web:API:Window|Window]] и [[software:development:web:docs:Web:API:Location|Location]], как описано в следующих двух разделах. |
| |
Для связи между документами из разных источников используйте window.postMessage. | Для связи между документами из разных источников используйте [[software:development:web:docs:Web:API:Window:postMessage|window.postMessage]]. |
| |
Спецификация: HTML Living Standard § Объекты перекрестного происхождения . | Спецификация: [[https://html.spec.whatwg.org/multipage/browsers.html#cross-origin-objects|HTML Living Standard § Объекты перекрестного происхождения]]. |
| |
====Window==== | ====Window==== |