Quick BI仪表板中的部分内嵌页面无法正常显示,部分内嵌页面可以正常显示

更新时间:

问题描述

Quick BI仪表板中的部分内嵌页面无法正常显示,部分内嵌页面可以正常展示。

问题原因

  • 被嵌入的页面设置有同源不跨域策略且域名不是*.aliyun.com不能内嵌,Quick BI页面和嵌入的页面不是同一个域名,嵌入页面的请求的接口中X-Frame-Options响应头配置了“sameorigin”。

  • 被嵌入的页面没有设置X-Frame-Options响应头可以被内嵌正常显示。
  • 被嵌入的页面X-Frame-Options响应头配置了“sameorigin”,但是页面的域名是*.aliyun.com可以被内嵌正常显示。

【小知识】

X-Frame-Options HTTP响应头是用来给浏览器指示允许一个页面可否在<frame>, </iframe>或者<object>中展现的标记。网站可以使用此功能,来确保自己网站的内容没有被嵌套到别人的网站中去,也从而避免了点击劫持(clickjacking)的攻击。

X-Frame-Options响应头有三个参数:

  • DENY:表示该页面不允许在frame中展示,即便是在相同域名的页面中嵌套也不允许。
  • SAMEORIGIN:表示该页面可以在相同域名页面的frame中展示。
  • ALLOW-FROM uri:表示该页面可以在指定来源的frame中展示。

换一句话说,如果设置为DENY,不光在别人的网站frame嵌入时会无法加载,在同域名页面中同样会无法加载。另一方面,如果设置为SAMEORIGIN,那么页面就可以在同域名页面的frame中嵌套。正常情况下我们通常使用SAMEORIGIN参数。

解决方案

能否正常被内嵌显示是由被内嵌网页X-Frame-Options响应头决定的,只能内嵌显示符合要求的网页。

适用于

  • Quick BI