将有数的报告嵌入网页后,为什么报告中的图表无法加载到内容?
更新时间: 2022-12-01 15:47:01
阅读 845
有数报告被嵌入网页后,为什么显示异常?
1.chrome浏览器samesite跨域策略限制
说明
从Chrome 51开始,浏览器的Cookie新增加了一个Samesite属性,用来防止CSRF攻击和用户追踪。如果iframe的地址和父级的地址不同源(域名不一致),则可能无法传递cookie
解决方案一:调整每个客户端的chrome策略
- 打开chrome后,输入chrome://flags/#same-site-by-default-cookies,
- 将【SameSite by default cookies】的default选项改为disable后,清除浏览器缓存,再打开您的网页。
解决方案二:域名同源
确保有数iframe和父级地址的域名一致,增加一层代理域名,使访问有数的域名和外部门户的域名一致
2.nginx代理配置x-frame-options头跨域限制
说明
X-Frame-Options HTTP 响应头是用来给浏览器指示允许一个页面可否在 frame、iframe、embed 或者 object 中展现的标记。站点可以通过配置X-Frame-Options响应头确保网站没有被嵌入到别人的站点里面,从而避免点击劫持攻击
解决方案一:增加例外
在nginx里增加一个例外配置,比如允许在youdata.com中引用frame,就在有数服务器nginx的location里加一条配置:
add_header X-Frame-Options ALLOW-FROM http://youdata.com/
;
解决方案二:域名同源
确保有数iframe和父级地址的域名一致,增加一层代理域名,使访问有数的域名和外部门户的域名一致
文档反馈
以上内容对您是否有帮助?