Заголовки: CSP.sandbox
Content-Security-Policy: директива sandbox
Базовый уровень Широко доступно
Эта функция хорошо зарекомендовала себя и работает на множестве устройств и в разных версиях браузеров. Она доступна во всех браузерах с ноября 2016 года.
Директива HTTP Content-Security-Policy (CSP) sandbox включает песочницу для запрошенного ресурса, аналогичную атрибуту <iframe> sandbox. Она накладывает ограничения на действия страницы, в том числе запрещает всплывающие окна, выполнение плагинов и скриптов, а также обеспечивает соблюдение политики одного источника.
| Версия CSP | 1.1 / 2 |
|---|---|
| Тип директивы | Директива документа |
Эта директива не поддерживается в элементе <meta> и в поле заголовка Content-Security-policy-Report-Only. | |
Синтаксис
Content-Security-Policy: sandbox; Content-Security-Policy: sandbox <value>;
где <value> может принимать одно из следующих необязательных значений:
allow-downloads-
Разрешает скачивать файлы через элемент
<a>или<area>с атрибутом download, а также при переходе по ссылке, ведущем к скачиванию файла. Это работает независимо от того, нажал ли пользователь на ссылку или код JS инициировал скачивание без взаимодействия с пользователем. allow-forms-
Разрешает странице отправлять формы. Если это ключевое слово не используется, форма будет отображаться как обычно, но её отправка не запустит проверку введённых данных, отправку данных на веб-сервер или закрытие диалогового окна.
allow-modals-
Разрешает странице открывать модальные окна с помощью методов
Window.alert(),Window.confirm(),Window.print()иWindow.prompt(), при этом открытие элемента<dialog>разрешено независимо от этого ключевого слова. Оно также позволяет странице получать событиеBeforeUnloadEvent. allow-orientation-lock-
Позволяет ресурсу блокировать ориентацию экрана.
allow-pointer-lock-
Разрешает странице использовать API блокировки указателя.
allow-popups-
Разрешает открывать всплывающие окна (например, созданные с помощью
Window.open()илиtarget="_blank"). Если это ключевое слово не используется, открытие всплывающего окна будет беззвучно отклонено. allow-popups-to-escape-sandbox-
Разрешает документу в песочнице открывать новые окна, не распространяя на них флаги песочницы. Например, это позволяет безопасно помещать в песочницу стороннюю рекламу, не распространяя те же ограничения на страницу, на которую ведёт ссылка в объявлении.
allow-presentation-
Позволяет встраивающим документам контролировать, может ли iframe запустить сеанс презентации.
allow-same-origin-
Позволяет ресурсу в песочнице сохранить свой источник. В противном случае ресурс в песочнице считается имеющим непрозрачный источник, что гарантирует, что он всегда будет проходить проверки политики одного источника с ошибкой и, следовательно, не сможет получить доступ к
localstorageиdocument.cookie, а также к некоторым API JavaScript.Originресурсов в песочнице без ключевого словаallow-same-origin—null. allow-scripts-
Разрешает странице выполнять скрипты (но не создавать всплывающие окна). Если это ключевое слово не используется, выполнение скриптов запрещено.
allow-storage-access-by-user-activation-
Позволяет ресурсу запрашивать доступ к возможностям хранилища родительского документа с помощью API доступа к хранилищу.
-
Позволяет ресурсу перемещать контекст просмотра верхнего уровня (тот, который называется
_top). -
Позволяет ресурсу перемещать контекст просмотра верхнего уровня, но только если это действие инициировано жестом пользователя.
-
Разрешает переходы по протоколам, отличным от
http, встроенным в браузер или зарегистрированным веб-сайтом. Эта возможность также включается ключевым словомallow-popupsилиallow-top-navigation.
Примечание: Ключевое слово allow-top-navigation и связанные с ним значения имеют смысл только для встроенных документов (например, дочерних iframe). Для автономных документов эти значения не действуют, поскольку контекст просмотра верхнего уровня — это сам документ.
Примеры
Content-Security-Policy: sandbox allow-scripts;
Спецификации
| Спецификация |
|---|
| Content Security Policy Level 3> # directive-sandbox> |
Совместимость с браузерами
| Компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari для iOS | Samsung Internet | WebView для Android | WebView для iOS | |
sandbox |
25 | 14 | 50 | 15 | 7 | 25 | 50 | 14 | 7 | 1.5 | 4.4 | 7 |
См. также
Content-Security-Policy-
Атрибут
sandboxэлементов<iframe>
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy/sandbox