• Iframe跨域_ASP.NET


    1.描述:

    A系统 需要 调用 B系统的页面,被调用的B系统的页面b.html内部嵌套了iframe框架c.aspx地址页

    2.问题呈现:

    ie浏览器下

    Chrome浏览器下 追踪

    3.问题原因:

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

    4.解决办法:

    使用 X-Frame-OptionsEDIT

    X-Frame-Options 有三个值:

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

    换一句话说,如果设置为 DENY,不光在别人的网站 frame 嵌入时会无法加载,在同域名页面中同样会无法加载。另一方面,如果设置为 SAMEORIGIN,那么页面就可以在同域名页面的 frame 中嵌套。

    配置 Apache

    配置 Apache 在所有页面上发送 X-Frame-Options 响应头,需要把下面这行添加到 'site' 的配置中:

    Header always append X-Frame-Options SAMEORIGIN

    配置 nginx

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

    add_header X-Frame-Options SAMEORIGIN;
    

    配置 IIS

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

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

    5.解决步骤:

    本地设置 即A系统   

    X-Frame-Options 响应头

    A系统 服务器 IIS 配置

     

    或者直接 网站配置页面 web.config 修改

    本地X-Frame-Options 响应头  配置完毕
    但是发现 问题依然存在,发现 是B系统 不允许点击劫持  且安装SharePoint 服务,修改IIS  X-Frame-Options 配置无效 
    修改方案,跳入B系统 设置,母版页 添加代码
    <%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <WebPartPages:AllowFraming runat="server"/>

    该修改 参考网站 http://sharepoint.stackexchange.com/questions/56644/how-can-i-configure-x-frame-options-allow-from-on-my-sharepoint-installation

    ok 问题解决

    附上 MVC解决方案  feng005211的专栏  .NET MVC Iframe 'X-Frame-Options' to 'SAMEORIGIN' 解决办法

    参考:

    1.  http://www.server110.com/web_sec/201310/2843.html

    2.   玄魂的思想   Web应用安全之点击劫持(CLICKJACKING)与X-FRAME-OPTIONS HEADER

    3.  https://developer.mozilla.org/zh-CN/docs/Web/HTTP/X-Frame-Options?redirectlocale=en-US&redirectslug=The_X-FRAME-OPTIONS_response_header

    4.  http://sharepoint.stackexchange.com/questions/56644/how-can-i-configure-x-frame-options-allow-from-on-my-sharepoint-installation

    5.  从零开始的生活是充实的!      在其他系统Iframe中显示SharePoint 页面

    6.  http://sharepoint.stackexchange.com/questions/72987/is-there-a-way-to-disable-x-frame-options-response-header-or-at-least-modify-it

  • 相关阅读:
    九 .Django 管理后台(admin)
    四. 访问权限的使用和设计
    三 .复习python的 ORM 操作
    二 .python基于djago项目登录 ajax基本使用
    一 .python基于djago项目书籍管理
    二十六 .定时器(验证码)和短信(验证码)
    二十六 .ajax登录 认证 验证码(session)
    二十五 .Django---------auth认证组件
    二十四 .Django中间件
    【CF896C】Willem, Chtholly and Seniorious
  • 原文地址:https://www.cnblogs.com/wangfuyou/p/5420440.html
Copyright © 2020-2023  润新知