内容安全策略(content-security-policy)

内容安全策略

  • 1. iframe
    • 点击劫持与安全策略
    • 服务端设置
    • 解决思路
  • 2. Content Security Policy,即内容安全策略
    • 限制选项
    • Content-Security-Policy-Report-Only
    • 选项值
    • script-src 的特殊值
    • 注意点

1. iframe

在使用iframe 的时候

<iframe style="border:0;width:100%;height:100%" src="https://github.com/join"/>

内容安全策略(content-security-policy)_第1张图片
经查 报的是
Refused to frame 'https://github.com/' because an ancestor violates the following Content Security Policy directive:

Refused to frame ‘https://github.com/’ because an ancestor violates the following Content Security Policy directive: “frame-ancestors ‘none’”.

原因是 点击劫持与安全策略

点击劫持与安全策略

禁止页面被放在iframe里加载主要是为了防止点击劫持(Clickjacking):
内容安全策略(content-security-policy)_第2张图片
具体的,对于点击劫持,主要有 3 项应对措施:

  • CSP(Content Security Policy,即内容安全策略)
  • X-Frame-Options
  • framekiller

服务端设置

通过设置 HTTP 响应头来声明 CSP 和X-Frame-Options,例如:

# 不允许被嵌入,包括,