如何禁用Iframe链接网站

更新日期: 2022-03-10阅读: 1.3k标签: iframe

背景

网络安全是经常被忽略的一个问题,特别是对于小公司,由于用户量不大,可能根本不会考虑这些问题,但是如果能提前避免为什么不提前做防御呢?今天说下如何避免自己的网站被他人钓鱼。

html中提供了了iframe标签,可以用于展示第三方的网页,对于别有用心的人就可以利用这点做一个镜像网站。

<body>
<iframe src="https://www.fly63.com"></iframe>
</body>

通过css把iframe边框设置成透明,再把布局改成和三方一样的大小,整个页面除了域名其他基本就一样了,当然域名也可以注册一个比较相似的。


方案

http有一个X-Frame-Options选项,可以设置不允许其他网站使用iframe链接,比如百度设置了只允许同源网站嵌套,除了设置成SAMEORIGIN,也可以设置成DENY,拒绝所有的网站嵌套。



配置方法

Apache

要将 Apache 配置为发送X-Frame-Options所有页面的标头,请将其添加到站点的配置中:

Header always set X-Frame-Options "SAMEORIGIN"

要配置 Apache 以设置X-Frame-OptionsDENY,请将其添加到您站点的配置中:

Header set X-Frame-Options "DENY"

Nginx

要配置 Nginx 以发送X-Frame-Options标头,请将其添加到您的 http、服务器或位置配置中:

add_header X-Frame-Options SAMEORIGIN always;

IIS

要配置 IIS 以发送X-Frame-Options标头,请将其添加到您站点的Web.config文件中:

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

HAProxy

要配置 HAProxy 以发送X-Frame-Options标头,请将其添加到您的前端、侦听或后端配置中:

rspadd X-Frame-Options:\ SAMEORIGIN

或者,在较新的版本中:

http-response set-header X-Frame-Options SAMEORIGIN

Express

要配置 Express 发送X-Frame-Options标头,您可以使用使用frameguard设置标头的头盔。将此添加到您的服务器配置中:

const helmet = require('helmet');
const app = express();
app.use(helmet.frameguard({ action: 'SAMEORIGIN' }));

或者,您可以直接使用 frameguard:

const frameguard = require('frameguard')
app.use(frameguard({ action: 'SAMEORIGIN' }))


链接: https://www.fly63.com/article/detial/11250

iframe 透明兼容,设置iframe透明背景的方法

如何兼容支持iframe框架的背景透明。通过使用allowtransparency和background-color来设置iframe框架的透明效果。

IE9/IE10使用隐藏iframe异步上传文件问题

表单提交是同步的,会阻塞页面,可以将表单提交到一个iframe中,父页面就不会阻塞了。需要设置form的target属性等于iframe的name属性。服务器端只是单纯对表单提交的响应,可以返回一段script脚本作为http响应流,执行javascript。

JS操作iframe元素

页面中有个iframe元素,iframe元素的src是iframe1.html,怎么在demo1.html页面中操作iframe1.html页面,js先找到iframe元素(比如命名为:oIframe),那么oIframe.contentWindow就是iframe1.html这个页面的window

iframe标签刷新页面停留在当前页

整体思路:在iframe所在当前页面地址url后拼接 #+targetUrl,iframe标签内a标签跳转,父页面添加如下方法,iframe标签内调用父页面js方法用 window.parent.jsfun() 调用。

iframe的父子页面进行简单的相互传值

当一个页面使用了iframe作为嵌套时,如何想要将父页面的数据传给iframe子页面,那iframe所指向的呢个子页面是怎么获取呢,又或者子页面的数据要给父页面使用,那么父页面又如何获取子页面的数据呢?

iframe onload事件被block的坑

最近接手了一个古旧的项目,跟客户端、服务器端一起调一个支付相关的app内嵌H5页面,这个页面有两部分组成,主页面A加上一个最终支付页面B,B页面是通过iframe嵌入到A页面中的,A、B两个页面之间的交互采用postMessage+hashChange

如何优雅的使用iframe?

iframe在web应用刀耕火种的开发年代是非常常见的,现在基于Node构建的前端应用嵌入iframe的场景越来越少了,但是在大型的web应用中也会经常遇见利用iframe嵌入多个前端应用于一套前端系统中,方便用户在一个系统中去进行业务操作

iframe在iphone手机上的问题

通过document.addEventListener(\\\"scroll\\\",function(){})对页面滚动监听事件进行监听,但ios下$(document).scrollTop()值始终为0,对页面监听无效。

iframe父子传参通信

在最近的项目里面,用到了不少关于iframe父子传参通信的相关操作,记录一下,虽然很简单,但是确实十分有用的;iframe通信可以分为2种,跨域和非跨域两种.分别说明;

iframe中跨域页面访问parent的方法

在AAA.com域名下的index.htm页面中内嵌了BBB.com域名下的一个页面index.htm,正常情况下iframe内部的index.htm页面是无法访问父页面index.htm中的任何dom对象或者js函数的,因为跨域,但我们经常又需要做一些参数回传的事情怎么办呢?以上的这种实现方式就很好的解决了这个问题

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!