zoukankan      html  css  js  c++  java
  • [转]X-Frame-Options防止网页放在iframe中

    X-Frame-Options防止网页放在iframe中

    X-Frame-Options是什么?

    X-Frame-Options是一个HTTP标头(header),用来告诉浏览器这个网页是否可以放在iFrame内。例如:

    • X-Frame-Options: DENY
    • X-Frame-Options: SAMEORIGIN
    • X-Frame-Options: ALLOW-FROM http://caibaojian.com/

    第一个例子告诉浏览器不要(DENY)把这个网页放在iFrame内,通常的目的就是要帮助用户对抗点击劫持。

    第二个例子告诉浏览器只有当架设iFrame的网站与发出X-Frame-Options的网站相同,才能显示发出X-Frame-Options网页的内容。

    第三个例子告诉浏览器这个网页只能放在http://caibaojian.com//网页架设的iFrame内。

    不指定X-Frame-Options的网页等同表示它可以放在任何iFrame内。

    X-Frame-Options可以保障你的网页不会被放在恶意网站设定的iFrame内,令用户成为点击劫持的受害人。

    使用X-Frame-Options 有两种可能的值:
    • DENY :该页无法显示在一个框架中.
    • SAMEORIGHT :页面只能显示在页面本网站的框架中.
    有时候为了防止网页被别人的网站iframe,我们可以通过在服务端设置HTTP头部中的X-Frame-Options信息。
    • X-Frame-Options 响应头有三个可选的值:
    • DENY:页面不能被嵌入到任何iframe或frame中;
    • SAMEORIGIN:页面只能被本站页面嵌入到iframe或者frame中;
    • ALLOW-FROM:页面允许frame或frame加载。
    在服务端设置的方式如下:
    Java代码:
    response.addHeader("x-frame-options","SAMEORIGIN");
    Nginx配置:
    add_header X-Frame-Options SAMEORIGIN
    Apache配置:
    Header always append X-Frame-Options SAMEORIGIN

    另外查了最新的资料,还可以直接通过meta标签来设置,不需要放在http头部请求中了。

    <meta http-equiv="X-Frame-Options" content="deny">

    两个参数:(作用与上面一致)

    1. SAMEORIGIN
    2. DENY
    解决办法:在web.config添加以下配置
    <system.webServer>
      ...
      <httpProtocol>
        <customHeaders>
          <add name="X-Frame-Options" value="SAMEORIGIN" />
        </customHeaders>
      </httpProtocol>
      ...
    </system.webServer>

    Cross-window communication

     
  • 相关阅读:
    8.22
    webstrom安装流程
    8.21
    8.20
    8.20学习笔记
    使用WebClient异步获取http资源
    导航栏,可直接使用
    asp.net mvc5实现单点登录
    使用C#调用Word的接口生成doc文件与html文件
    下载网页并保存
  • 原文地址:https://www.cnblogs.com/qiyebao/p/13741136.html
Copyright © 2011-2022 走看看