关于“此内容不能在框架中显示”问题

Posted xianyao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于“此内容不能在框架中显示”问题相关的知识,希望对你有一定的参考价值。

技术图片


这是因为配置了X-Frame-Options 响应头


什么是X-Frame-Options 响应头?

  一种安全策略造成的,为了防止“ClickJacking attacks[点击劫持攻击]”,下面我们再看看什么是这个点击劫持

点击劫持定义

  打开一个网页,出现一个flash广告框,你点击“关闭”按钮,可结果广告并没有关闭,却变成了全屏,这样的情况在计算机安全领域叫做点击劫持,也就是说你点击鼠标的行为被人给控制了。

点击劫持特征

  点击劫持是一种恶意攻击技术,用于跟踪网络用户,获取其私密信息或者通过让用户点击看似正常的网页来远程控制其电脑。很多浏览器和操作平台都有这样的漏洞。

点击劫持作用

  可以用嵌入代码或者文本的形式出现,在用户毫不知情的情况下完成攻击,比如点击一个表面显示是“播放”某个视频的按钮,而实际上完成的操作却是将用户的社交网站个人信息改为“公开”状态。

  其实问题就是Http响应标头是否有设置X-Frame-Options,我想SharePoint内部应该对这个进行限制了,造成了我们无法访问,而IIS站点的位置,却没有表现出来,然后,试图添加IIS站点的Http响应标头,发现可以解决问题。


1、配置Apache:

  (如果是在本地的话,就是在httpd.conf里面配置;如果是linux(ubuntu的话)就是在apache2.conf里面),找个空的位置加入这行代码,具体看你是选择哪种

<span style="font-size:14px;">Header always append X-Frame-Options SAMEORIGIN</span>  

  有可能会遇到一种情况,就是我在服务端配置完apache之后,尝试 Restart Apache 但是报了一个错误:

Invalid command ‘Header’, perhaps misspelled or defined by a module not included in the server configuration

  header的方法模块没有安装,我们需要先自行安装一下:

  先输入 a2enmod heade ,然后需要重启一下Apache,输入service apache2 restart


2、配置nginx

  配置 nginx 发送 X-Frame-Options 响应头,把下面这行添加到 ‘http‘, ‘server‘ 或者 ‘location‘ 的配置中:

<span style="font-size:14px;">add_header X-Frame-Options SAMEORIGIN;</span>

3、配置IIS:

  1. 打开IIS,点击HTTP响应标头;

  2. X-Frame-Options header包括三种值:
  · DENY

  · SAMEORIGIN

  · ALLOW-FROM origin

简单介绍,**DENY**就是所有的Iframe都禁止,**SAMEORIGIN**是本服务器允许Iframe,**ALLOW-FROM**是定向允许,**后面接域名**。

或者配置 IIS 发送 X-Frame-Options 响应头,添加下面的配置到 Web.config 文件中:

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <add name="X-Frame-Options" value="SAMEORIGIN" />
    </customHeaders>
  </httpProtocol>
</system.webServer>

4、在服务端设置的方式如下:

Java代码:
response.addHeader("x-frame-options","SAMEORIGIN");

以上是关于关于“此内容不能在框架中显示”问题的主要内容,如果未能解决你的问题,请参考以下文章

关于突然不能上网的问题的解决

关于vue axios不能发送数组问题

关于vim不能编辑的问题

关于Kde上wps不能打开文档 不能切换中文等问题

关于Apache本地能访问外网不能访问的问题

javascript关于不能为空的问题