SharePoint Iframe 报错“此内容不能显示在一个框架中”
2013-10-24 10:19
281 查看
问题描述
我们SharePoint站点用Excel Service发布的Excel,需要Iframe到其他系统中,但是,Iframe的时候发现报错“此内容不能显示在一个框架中”。
后来,尝试在其他系统中Iframe SharePoint其他页面,同样报这样的错误;但是SharePoint自己的页面,Iframe自己页面不报错,Iframe自己的Excel Services 页面报错,很奇怪的问题。
问题截图
问题介绍
经过很长一段时间的搜索,发现是一种安全策略造成的,为了防止“ClickJacking attacks”,然后在查找了一下,这是什么意思,原来是“点击劫持攻击”,下面我们再看看什么是这个点击劫持。
点击劫持定义 打开一个网页,出现一个flash广告框,你点击“关闭”按钮,可结果广告并没有关闭,却变成了全屏,这样的情况在计算机安全领域叫做点击劫持,也就是说你点击鼠标的行为被人给控制了。
点击劫持特征 点击劫持是一种恶意攻击技术,用于跟踪网络用户,获取其私密信息或者通过让用户点击看似正常的网页来远程控制其电脑。很多浏览器和操作平台都有这样的漏洞。
点击劫持作用 可以用嵌入代码或者文本的形式出现,在用户毫不知情的情况下完成攻击,比如点击一个表面显示是“播放”某个视频的按钮,而实际上完成的操作却是将用户的社交网站个人信息改为“公开”状态。
解决方案 一
其实问题就是Http响应标头是否有设置X-Frame-Options,我想SharePoint内部应该对这个进行限制了,造成了我们无法访问,而IIS站点的位置,却没有表现出来,然后,试图添加IIS站点的Http响应标头,发现可以解决问题。
1、打开IIS,点击HTTP响应标头;
2、分组的空白区域右键添加,如下节点;
X-Frame-Options header包括三种值:
· DENY
· SAMEORIGIN
· ALLOW-FROM origin
简单介绍,DENY就是所有的Iframe都禁止,SAMEORIGIN是本服务器允许Iframe,ALLOW-FROM是定向允许,后面接域名。
解决方案 二
以上是第一种解决方案,通过修改网站的Http响应标头,后来查找发现,还有其他的解决方案,通过部署解决方案,禁用SharePoint的限制。这个是一个完整的博客,请参考一下博文。
在其他系统Iframe中显示SharePoint 页面
http://www.cnblogs.com/yunliang1028/archive/2013/08/07/3243246.html
解决后效果图
如下图,可以正常Iframe了,我先使用解决方案二把SharePoint的屏蔽掉,自己使用添加HTTP响应标头的方法,开放我需要的站点进行Iframe。这样,就防止了点击劫持,有能使需要的站点进行Iframe,效果图下面。
结束语
其实,很想吐槽一下,想了想,这个问题有让自己多了解了SharePoint一番,还了解了HTTP响应标头,还不错,算了,我忍了。做了这么久SharePoint,遇到各式各样的问题,习惯了,好了,就到这里,休息,休息一下~~
附 录
http://blogs.msdn.com/b/ieinternals/archive/2010/03/30/combating-clickjacking-with-x-frame-options.aspx
特别鸣谢
http://www.cnblogs.com/yunliang1028/博客博主Yunliang Yu的解决方案~
我们SharePoint站点用Excel Service发布的Excel,需要Iframe到其他系统中,但是,Iframe的时候发现报错“此内容不能显示在一个框架中”。
后来,尝试在其他系统中Iframe SharePoint其他页面,同样报这样的错误;但是SharePoint自己的页面,Iframe自己页面不报错,Iframe自己的Excel Services 页面报错,很奇怪的问题。
问题截图
问题介绍
经过很长一段时间的搜索,发现是一种安全策略造成的,为了防止“ClickJacking attacks”,然后在查找了一下,这是什么意思,原来是“点击劫持攻击”,下面我们再看看什么是这个点击劫持。
点击劫持定义 打开一个网页,出现一个flash广告框,你点击“关闭”按钮,可结果广告并没有关闭,却变成了全屏,这样的情况在计算机安全领域叫做点击劫持,也就是说你点击鼠标的行为被人给控制了。
点击劫持特征 点击劫持是一种恶意攻击技术,用于跟踪网络用户,获取其私密信息或者通过让用户点击看似正常的网页来远程控制其电脑。很多浏览器和操作平台都有这样的漏洞。
点击劫持作用 可以用嵌入代码或者文本的形式出现,在用户毫不知情的情况下完成攻击,比如点击一个表面显示是“播放”某个视频的按钮,而实际上完成的操作却是将用户的社交网站个人信息改为“公开”状态。
解决方案 一
其实问题就是Http响应标头是否有设置X-Frame-Options,我想SharePoint内部应该对这个进行限制了,造成了我们无法访问,而IIS站点的位置,却没有表现出来,然后,试图添加IIS站点的Http响应标头,发现可以解决问题。
1、打开IIS,点击HTTP响应标头;
2、分组的空白区域右键添加,如下节点;
X-Frame-Options header包括三种值:
· DENY
· SAMEORIGIN
· ALLOW-FROM origin
简单介绍,DENY就是所有的Iframe都禁止,SAMEORIGIN是本服务器允许Iframe,ALLOW-FROM是定向允许,后面接域名。
解决方案 二
以上是第一种解决方案,通过修改网站的Http响应标头,后来查找发现,还有其他的解决方案,通过部署解决方案,禁用SharePoint的限制。这个是一个完整的博客,请参考一下博文。
在其他系统Iframe中显示SharePoint 页面
http://www.cnblogs.com/yunliang1028/archive/2013/08/07/3243246.html
解决后效果图
如下图,可以正常Iframe了,我先使用解决方案二把SharePoint的屏蔽掉,自己使用添加HTTP响应标头的方法,开放我需要的站点进行Iframe。这样,就防止了点击劫持,有能使需要的站点进行Iframe,效果图下面。
结束语
其实,很想吐槽一下,想了想,这个问题有让自己多了解了SharePoint一番,还了解了HTTP响应标头,还不错,算了,我忍了。做了这么久SharePoint,遇到各式各样的问题,习惯了,好了,就到这里,休息,休息一下~~
附 录
http://blogs.msdn.com/b/ieinternals/archive/2010/03/30/combating-clickjacking-with-x-frame-options.aspx
特别鸣谢
http://www.cnblogs.com/yunliang1028/博客博主Yunliang Yu的解决方案~
相关文章推荐
- SharePoint Iframe 报错“此内容不能显示在一个框架中”
- SharePoint Iframe 报错“此内容不能显示在一个框架中”
- SharePoint Iframe 报错“此内容不能显示在一个框架中”<续>
- SharePoint Iframe 报错“此内容不能显示在一个框架中”
- SharePoint Iframe 报错“此内容不能显示在一个框架中”<续>
- SharePoint Iframe 一个错误此内容不能显示在一帧<继续>
- iframe标签引用显示为空,ie下 【此内容不能显示在一个框架中, 为了帮助保护在此网站中输入的信息的安全……】
- SharePoint server 2016中文版导出list template,在另外一个环境不能显示
- SharePoint 2013 Dialog 此内容不能显示在一个框架中
- android学习记录(三)百度地图错误---手机显示只有一个框架,没有地图内容。
- GreyFrame是一个遮罩弹出显示页面的JS类, 它可以允许你像在框架(如: frame和iframe)中打开一个链接.
- iframe不能显示内容的问题
- ASP.NET中iframe框架点击左边页面链接 右边显示链接页面内容
- 如何调整大小以显示一个 IFrame 其内容(不显示滚动条)
- sharepoint column中的图片链接不能显示为图片
- 同一页面中实现点击其中一个iframe中的链接后,将链接内容显示到另一iframe
- 如何调整一个 IFrame 到其内容的大小不显示滚动条[微软帮助]
- ASP.NET中iframe框架点击左边页面链接 右边显示链接页面内容
- 鼠标悬浮到表格的单元格上,将弹出一个框,框中显示这个单元格的内容。框失去焦点,框也消失。利用jQuery+javascript写的。
- SharePoint Learning Kit核心内容概述(四)