CSP - Content Security Policy

2019/03/18 | 1分钟阅读 | 更新于 2019/03/18

CSP - Content Security Policy

CSP 是 Content Security Policy 的缩写。通过 Content-Security-Policy 的 Header 或者 HTML <meta /> 标签,浏览器将仅加载指定白名单范围内的资源,可以在一定程度上规避 XSS 注入攻击。

形式上为

Content-Security-Policy: default-src 'self'; img-src 'self' data: res.cloudinary.com;

或者使用 <meta /> 标签

<meta http-equiv="Content-Security-Policy" content="default-src 'self'; img-src 'self' data: res.cloudinary.com;">

上面这段政策是我用在 ook.dev/tools/long-screen/ 上的。解读为:

  • default-src 'self'; - 默认仅允许来自身(同域)的资源。
  • img-src 'self' data: res.cloudinary.com; - 图片除了 'self' 外,还支持 data: 协议,以及 res.cloudinary.com 的资源。

在以上 default-src 的基础上 inline 的 style 和 script 都是不被允许的,如果想要使用 inline 必须额外指定 unsafe-inline,并且指定唯一的哈希,不然会得到类似如下的错误信息:

inline 是指:包括直接在 style 标签内写样式,或者直接 script 内写脚本都是不被允许的。以及 HTML 标签内写 style = "display: none;" 这种东西也是不可以的。另外即使你的 JavaScript 来源合法,eval(); 这种也是会被禁止的,除非你在 policy 里指明。

更为详细的资源可以查看 内容安全策略( CSP ) - HTTP | MDN内容安全政策 | Web | Google Developers

© 2026 香蕉引擎故障报告

🌱 Powered by Hugo with theme Dream.

关于

要怎么介绍自己呢,🤔。

很早以前是作为 Web 前端在学习的,但是工作第一年就成为了全干工程师。喜欢尝试各种东西,什么都会一点。

一直很喜欢 Ebiten 游戏引擎 ,特别简洁,用它做过一些小东西,可以查看这个分类 。另外特别推荐这个木鱼 ,是一个相对完整的小玩意儿,包含手搓的一个简单的 UI 框架;支持鼠标和键盘操作;有多语言和主题切换功能;同时支持 Web 端和客户端。它的源代码在 bin16/wooden-fish

主题

网站基于 Hugo,当前使用的是 hugo-theme-dream 主题的修改版 ,根据我的需要,做了一些对 PaperMod 的兼容。

我自己也写过主题 ,但是没有别人写的好看。

正在从我的笔记中往外搬运内容

等待更新:

  • 从《锈湖》中学了些什么东西
  • 我拿 React 写解谜游戏的经过
  • 基于 Pocketbase 的 Pocket Memos
  • 数独!