--- title: 'CSP: form-action' slug: Web/HTTP/Headers/Content-Security-Policy/form-action tags: - CSP - Content-Security-Policy - Directive - HTTP - Security - Sécurité - form - form-action translation_of: Web/HTTP/Headers/Content-Security-Policy/form-action ---
La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) form
-action
restreint les URL pouvant être utilisées comme cibles de soumissions de formulaires depuis un contexte donné.
Attention : La question de savoir si form-action
doit bloquer les redirections après une soumission de formulaire est encore débattue et les implantations des navigateurs sur cet aspect sont incohérentes (par exemple Firefox 57 ne les bloque pas, contrairement à Chrome 63).
Version de CSP | 2 |
---|---|
Type de directive | {{Glossary("Navigation directive")}} |
{{CSP("default-src")}} par défaut | Non, ne pas la définir autorise toutes les adresses. |
Une ou plusieurs sources peuvent être utilisées pour cette directive :
Content-Security-Policy: form-action <source>; Content-Security-Policy: form-action <source> <source>;
{{page("fr/Web/HTTP/Headers/Content-Security-Policy/default-src", "Sources")}}
<meta http-equiv="Content-Security-Policy" content="form-action 'none'">
<IfModule mod_headers.c> Header set Content-Security-Policy "form-action 'none';" </IfModule>
add_header Content-Security-Policy "form-action 'none';"
Utiliser un élément {{HTMLElement("form")}} avec un attribut action
défini à un script embarqué JavaScript résultera en une violation de 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'".
Spécification | Statut | Commentaire |
---|---|---|
{{specName("CSP 3.0", "#directive-form-action", "form-action")}} | {{Spec2('CSP 3.0')}} | Inchangé. |
{{specName("CSP 1.1", "#directive-form-action", "form-action")}} | {{Spec2('CSP 1.1')}} | Définition initiale. |
{{Compat("http.headers.csp.Content-Security-Policy.form-action")}}