Spec-Zone.ru › HTTP

Заголовки: CSP.form-action

Content-Security-Policy: директива form-action

Базовый уровень Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в разных версиях браузеров. Она доступна во всех браузерах с апреля 2017 года.

  • Подробнее
  • Полная информация о совместимости
>

Директива Content-Security-Policy (CSP) протокола HTTP form-action ограничивает URL-адреса, которые можно использовать в качестве цели отправки форм из заданного контекста.

Предупреждение: Вопрос о том, должна ли form-action блокировать перенаправления после отправки формы, обсуждается, а реализация этого аспекта в браузерах различается (например, Firefox 57 не блокирует перенаправления, а Chrome 63 блокирует).

Версия CSP 2
Тип директивы Директива навигации
default-src в качестве резервного значения Нет. Если директива не задана, разрешено всё.

Синтаксис

Content-Security-Policy: form-action 'none';
Content-Security-Policy: form-action <source-expression-list>;

Эта директива может принимать одно из следующих значений:

'none'

Отправка форм запрещена. Одинарные кавычки обязательны.

<source-expression-list>

Разделённый пробелами список значений исходных выражений. Формы можно отправлять на URL-адреса, соответствующие любому из указанных исходных выражений. Для этой директивы применимы следующие значения исходных выражений:

  • <host-source>
  • <scheme-source>
  • 'self'

Примеры

>

Настройка метатега

<meta http-equiv="Content-Security-Policy" content="form-action 'none'" />

Конфигурация Apache

<IfModule mod_headers.c>
  Header set Content-Security-Policy "form-action 'none';"
</IfModule>

Конфигурация Nginx

add_header Content-Security-Policy "form-action 'none';"

Случай нарушения

Использование элемента <form> с действием, заданным как встроенный JavaScript, приведёт к нарушению CSP.

<meta http-equiv="Content-Security-Policy" content="form-action 'none'" />

<form action="javascript:alert('Foo')" id="form1" method="post">
  <input type="text" name="fieldName" value="fieldValue" />
  <input type="submit" id="submit" value="submit" />
</form>

<!--
// Error: Refused to send form data because it violates the following
// Content Security Policy directive: "form-action 'none'".
-->

Спецификации

Спецификация
Политика безопасности содержимого, уровень 3>
# directive-form-action>

Совместимость с браузерами

Настольные компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari для iOS Samsung Internet WebView для Android WebView для iOS
form-action 40 15 36 27 10 40 36 27 9.3 4.0 40 9.3
blocks_redirects ≤63 79 Нет ≤50 ≤11.1 ≤63 Нет ≤46 ≤11.3 ≤8.0 ≤63 ≤11.3

См. также

  • Content-Security-Policy
  • <form>

© 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/form-action

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API