如何设置内容安全策略标头?

时间:2020-10-01 10:16:21

标签: http-headers content-security-policy x-frame-options

标题为https://www.example.com的网站content-security-policy: frame-ancestors 'self';无法用<iframe>打开

此网站包含一个可共享的网址,例如https://www.example.com/#/shareablelink,应允许在<iframe>中打开该网址,但由于标头content-security-policy: frame-ancestors 'self';也应用于此页面,因此无法正常工作。

有什么办法吗?

它的前端基于5+角

1 个答案:

答案 0 :(得分:1)

HTTP标头发布在后端(服务器)上,因此只有网站所有者可以更改这些标头。

使用哈希进行链接(https://www.example.com/#/shareablelink)的过程很棘手:

  • 由服务器提供服务之前的部分-单击后发送到服务器,并会收到服务器的答复(如果您未在浏览器中通过脚本处理onClick)
  • 之后的部分在浏览器中本地提供(通过脚本或通过内置的浏览器导航),并且永远不会发送到服务器

因此,页面https://www.example.com/#/shareablelink上的CSP HTTP标头始终与https://www.example.com/上的相同。 #/shareablelink部分通常是滚动到'/ shareablelink'锚点的,或者可以出于任何目的由javascript处理(甚至将XMLHttpRequest发送到服务器,获取响应并更改页面的内容,但不能更改HTTP标头)