CSP: форма-действие
CSP: форма-действие
Директива HTTP Content-Security-Policy (CSP) form-action ограничивает URL-адреса, которые могут быть использованы в качестве цели для отправки формы из данного контекста.
Предупреждение: Вопрос о том, form-action должен ли блокировать перенаправления после отправки формы, является обсуждаемым, а реализации браузеров в этом аспекте несовместимы (например, Firefox 57 не блокирует перенаправления, в то время как Chrome 63 делает это).
| Версия CSP | 2 |
|---|---|
| Тип директивы | Директива навигации |
default-src резервное значение | Нет. Если не задано, разрешено всё. |
Синтаксис
Для политики form-action можно задать один или несколько источников:
Content-Security-Policy: form-action <source>; Content-Security-Policy: form-action <source> <source>;
Источники
<source> может быть любым из значений, перечисленных в Значения источников CSP.
Обратите внимание, что этот же набор значений может быть использован во всех директивах fetch (и ряде других директив).
Примеры
Настройка тега meta
<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'". -->
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | |
form-action |
40 |
15 |
36 |
Нет |
27 |
10 |
Да |
Да |
36 |
Да |
9.3 |
Да |
См. также
© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/form-action