CSP: form-action - HTTP 编辑
HTTP Content-Security-Policy
(CSP) 的 form
-action
指令能够限定当前页面中表单的提交地址。
在表单提交之后, form-action
指令是否应该阻止重定向仍有待讨论,各个浏览器对于此行为的实现也不尽相同(例如,Chrome 63会阻止重定向,而Firefox 57则不会)。
CSP version | 2 |
---|---|
Directive type | Navigation directive |
default-src fallback | No. 未设定时允许任何值. |
语法
form-action
策略允许设定一个或多个源:
Content-Security-Policy: form-action <source>; Content-Security-Policy: form-action <source> <source>;
示例
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>
元素的action设置为内联 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'".
规范
Specification | Status | Comment |
---|---|---|
Content Security Policy Level 3 form-action | Working Draft | No changes. |
Content Security Policy Level 2 form-action | Recommendation | Initial definition. |
浏览器兼容性
本页面的兼容性列表由结构化数据生成,如果你想完善这些数据,请移步 https://github.com/mdn/browser-compat-data 并向我们发起pull request。
No compatibility data found. Please contribute data for "http.headers.csp.form-action" (depth: 1) to the MDN compatibility data repository.
参见
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论