Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 577

Атрибут sandbox у iframe

ПроверилCybersecurity entrepreneur & security researcher

Что такое Атрибут sandbox у iframe?

Атрибут sandbox у iframeHTML-атрибут, накладывающий дополнительные ограничения на содержимое iframe: блокирует скрипты, формы, навигацию и доступ same-origin, пока их явно не разрешат заново.


Атрибут sandbox у <iframe>, определённый в HTML Living Standard, применяет к встроенному содержимому политику наименьших привилегий. При пустом значении (sandbox="") он отключает скрипты, плагины, отправку форм, навигацию верхнего уровня и same-origin, всплывающие окна, захват указателя (pointer-lock), автовоспроизведение, а также API Pointer Lock и Presentation, и принудительно помещает фрейм в уникальный непрозрачный источник (unique opaque origin), так что он не может читать cookie родителя, его localStorage или DOM. Возможности возвращаются по одному токену за раз — allow-scripts, allow-same-origin, allow-forms, allow-popups, allow-modals, allow-downloads, allow-top-navigation-by-user-activation.

Критическая ловушка: сочетание allow-scripts allow-same-origin возвращает фрейм в его настоящий источник и позволяет ему выполнять JavaScript, так что код в песочнице может просто дотянуться до собственного DOM и удалить атрибут sandbox у вложенного фрейма — сводя защиту на нет. Для размещения по-настоящему недоверенного содержимого изолируйте его на отдельном источнике и сочетайте песочницу с Content-Security-Policy: sandbox (который нельзя убрать разметкой) и политиками Cross-Origin-Opener/Embedder. Песочница лежит в основе безопасного рендеринга рекламы, предпросмотра форматированного текста и сторонних виджетов; Caja от Google и современные сервисы вроде CodePen и JSFiddle полагаются на фреймы в песочнице на одноразовых источниках, чтобы выполнять контролируемый злоумышленником код, не подвергая опасности хост-страницу.

flowchart TD
  A[Родительская страница] --> B["&lt;iframe sandbox&gt;<br/>встраивание недоверенного содержимого"]
  B --> C{Какие токены заданы?}
  C -->|"sandbox=&quot;&quot; (пусто)"| D[Непрозрачный источник, нет скриптов,<br/>нет форм, нет навигации]
  C -->|только allow-scripts| E[Скрипты работают, по-прежнему<br/>непрозрачный источник — безопасно]
  C -->|"allow-scripts +<br/>allow-same-origin"| F[Настоящий источник + скрипты:<br/>фрейм может убрать собственный<br/>sandbox = побег]
  E --> G[Добавьте заголовок CSP: sandbox<br/>отдельный источник = эшелонированная защита]

Примеры

  1. 01

    <iframe src="/preview" sandbox="allow-scripts"></iframe> для безопасного рендеринга недоверенного HTML.

  2. 02

    Встраивание стороннего виджета с sandbox="" для запрета всех возможностей.

Частые вопросы

Что такое Атрибут sandbox у iframe?

HTML-атрибут, накладывающий дополнительные ограничения на содержимое iframe: блокирует скрипты, формы, навигацию и доступ same-origin, пока их явно не разрешат заново. Относится к категории Безопасность приложений в кибербезопасности.

Что означает Атрибут sandbox у iframe?

HTML-атрибут, накладывающий дополнительные ограничения на содержимое iframe: блокирует скрипты, формы, навигацию и доступ same-origin, пока их явно не разрешат заново.

Как защититься от Атрибут sandbox у iframe?

Защита от Атрибут sandbox у iframe обычно сочетает технические меры и операционные практики, как описано в определении выше.

Связанные термины

См. также