问题描述

  我们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 报错“此内容不能显示在一个框架中”的更多相关文章

  1. SharePoint Iframe 报错“此内容不能显示在一个框架中”<续>

    在之前的SharePoint站点iframe引用中,我们遇到过下面的问题,就是其它系统或者不通环境的SharePoint站点,引用SharePoint页面会报错“此内容不能显示在一个框架中”,之前我们 ...

  2. SharePoint Iframe 一个错误此内容不能显示在一帧&lt;继续&gt;

    在之前的SharePoint网站iframe引用中,我们遇到过以下的问题,就是其他系统或者不通环境的SharePoint网站,引用SharePoint页面会报错"此内容不能显示在一个框架中& ...

  3. Core在IIS的热发布问题或者报错文件已在另一个程序中打开

    关于Core发布到IIS的热发布问题,或者覆盖dll文件的时候会报错"文件已在另一个程序中打开",也就是无法覆盖程序的问题,经过百度和分析总结以下几种方案: 一.使用app_off ...

  4. 类中调用界面ActiveX控件报错当前线程不在单线程单元中因此无法实例化 ActiveX 控件的解决办法

    解决办法是Form类中定义一个静态的ActiveX对象,在formload中将界面上的ActiveX对象赋值给新定义的对象,类中访问该静态对象即可. public static AxClientDri ...

  5. 从视频文件中读入数据-->将数据转换为灰度图-->对图像做canny边缘检测-->将这三个结构显示在一个图像中

    //从视频文件中读入数据-->将数据转换为灰度图-->对图像做canny边缘检测-->将这三个结构显示在一个图像中 //作者:sandy //时间:2015-10-10 #inclu ...

  6. 解决iframe加载的内容有时显示有时不显示

    在ASP.NET MVC项目中遇到了这样的一个问题,假设父页面有一个iframe <iframe id=" width="100%" height="10 ...

  7. SharePoint 2013报错之“指定的文件不是有效的电子表格或者没有包含要导入的数据”

    当你尝试用SharePoint 2013中的“导入电子表格”功能时,可能会遇到报错“指定的文件不是有效的电子表格或者没有包含要导入的数据” 解决方法:只需要将你的SharePoint网址添加到浏览器的 ...

  8. 使用Rome读取RSS报错,org.xml.sax.SAXParseException: 前言中不允许有内容。

    这是我遇到过的最奇葩的错误 new URL的时候,使用静态变量就会报错org.xml.sax.SAXParseException: 前言中不允许有内容. URL url = new URL(Strin ...

  9. SharePoint 2013 报错 异常来自 HRESULT:0X80131904

    直接上传文件,报错:该Url xxxx无效.它可能指向不存在的文件或文件夹,或者是执行不再当前网站中的有效文件或文件夹. 直接新建文件夹,报错:异常来自 HRESULT:0X80131904 以系统账 ...

随机推荐

  1. Version of SQLCE in WP8

    The version on the device is compatible with version 3.5 on the desktop, but the Windows Phone versi ...

  2. js获取客户端计算机硬件及系统信息

    注意:(1):遇到“automation服务器不能创建对象”的问题 解决方案: 1.在“运行”中执行regsvr32 scrrun.dll 2.安全模式设置成“中”,如果javascript脚本中报这 ...

  3. C# 解析百度天气数据,Rss解析百度新闻以及根据IP获取所在城市

    百度天气 接口地址:http://api.map.baidu.com/telematics/v3/weather?location=上海&output=json&ak=hXWAgbsC ...

  4. Tmux 常用命令与快捷键

    命令与别名 attach-session [-dr] [-t target-session] 别名 attach,连接会话. detach-client [-P] [-a] [-s target-se ...

  5. nodejs之获取客户端真实的ip地址+动态页面中引用静态路径下的文件及图片等内容

    1.nodejs获取客户端真实的IP地址: 在一般的管理网站中,尝尝会需要将用户的一些操作记录下来,并记住是哪个用户进行操作的,这时需要用户的ip地址,但是往往当这些应用部署在服务器上后,都使用了ng ...

  6. get新技能: 如何设置元素高度与宽度成特定比例。宽度改变,高度自动按比例改变。 例如设置宽高比16:9。

    设置宽高比在很多时候是有用的. 下面的栗子,我们设置一个容器的宽高比为16:9 //HTML代码片段 <div class="container"> <div c ...

  7. Keypress – 超强大!捕获键盘输入的 JavaScript 库

    Keypress 是一个强大的 JavaScript 库,用于捕获键盘输入.这是一个有非常特殊的功能的输入捕获库,它是很容易掌握和使用,并且不依赖第三方库.在网站开发中,经常会碰到需要处理键盘输入的场 ...

  8. 一个关于explain出来为all的说明及优化

    explain sql语句一个语句,得到如下结果,为什么已经创建了t_bill_invests.bid_id的索引,但却没有显示using index,而是显示all扫描方式呢,原来这还与select ...

  9. struts2基础——标签

    一.通用标签 1.s:property (读取值栈中对象的属性值) 属性:value:指定OGNL表达式:default:OGNL表达式返回为 null 时,使用默认值:escape:是否对 HTML ...

  10. sprint 1 2 3 贡献分

    本学期我们做的项目是商品和员工管理系统(茗仕茶业管理平台) 团队Github地址:https://github.com/LinWenFeng团队博客地址:http://www.cnblogs.com/ ...