记录一些常用的函数和瞎折腾的过程……

Content-Security-Policy(CSP)内容安全政策之研究

提醒:本文最后更新于 2136 天前,文中所描述的信息可能已发生改变,请谨慎使用。

我在配置nginx的时候使用了Content-Security-Policy,刚开始的时候一脸茫然,好歹网络工具是个好老师,学到了不少。

Content-Security-Policy(CSP)的主要参数如下:

script-src:
用于控制脚本对于某个特定页面所享有的一组权限。
例如:script-src https://apis.google.com 指定 https://apis.google.com 作为另一个有效的脚本来源。

base-uri:
用于限制可在页面的 <base> 元素中显示的网址。

child-src:
用于列出适用于工作线程和嵌入的帧内容的网址。
例如:child-src https://youtube.com 将启用来自 YouTube(而非其他来源)的嵌入视频。 使用此指令替代已弃用的 frame-src 指令。

connect-src:
用于限制可(通过 XHR、WebSockets 和 EventSource)连接的来源。

font-src:
用于指定可提供网页字体的来源。Google 的网页字体可通过 font-src https://themes.googleusercontent.com 启用。

form-action:
用于列出可从 <form> 标记提交的有效端点。

frame-ancestors:
用于指定可嵌入当前页面的来源。此指令适用于 <frame>、<iframe>、<embed> 和 <applet> 标记。此指令不能在 <meta> 标记中使用,并仅适用于非 HTML 资源。

frame-src:
已弃用。请改用 child-src。

img-src:
用于定义可从中加载图像的来源。

media-src:
用于限制允许传输视频和音频的来源。

object-src:
可对 Flash 和其他插件进行控制。

plugin-types:
用于限制页面可以调用的插件种类。

report-uri:
用于指定在违反内容安全政策时浏览器向其发送报告的网址。此指令不能用于 <meta> 标记。

style-src:
是 script-src 版的样式表。

upgrade-insecure-requests:
指示 User Agent 将 HTTP 更改为 HTTPS,重写网址架构。 该指令适用于具有大量旧网址(需要重写)的网站。

详尽的原文地址1:https://developers.google.com/web/fundamentals/security/csp/?hl=zh-cn

详尽的原文地址2:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Security-Policy__by_cnvoid