禁止网站被iframe嵌套的解决方法

这篇具有很好参考价值的文章主要介绍了禁止网站被iframe嵌套的解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

有时候我们开发的网站可能会被别人利用嵌入到其他网站中,也就是别人镜像我们的网站,造成点击劫持风险。

目前收集到的有以下前后端2种维度来防止网页被iframe嵌套的办法:

一、前端

针对传统的Clickjacking,一般是通过禁止跨域的iframe来防范。framebusting通常可以写一段代码,以禁止iframe的嵌套。因为frame busting存在被绕过的可能,更好的方案是采用X-FRAME-OPTIONS,X-FRAME-OPTIONS是微软提出的一个http头,专门用来防御利用iframe嵌套的点击劫持攻击,并且在IE8、Firefox3.6、Chrome4以上的版本均能很好的支持。

X-Frame-Options HTTP响应头是用来确认是否浏览器可以在frame或iframe标签中渲染一个页面,网站可以用这个头来保证他们的内容不会被嵌入到其它网站中,以来避免点击劫持。

<meta http-equiv="X-FRAME-OPTIONS" content="DENY">

TIP:在实际项目中使用了,但不起作用,还是推荐通过后端Nginx配置来禁止iframe嵌套 

在PHP中,则可以在文件中添加以下代码:

<?php header(‘X-Frame-Options:Deny'); ?>

DENY:表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。

SAMEORIGIN:表示该页面可以在相同域名页面的 frame 中展示。

ALLOW-FROM uri:表示该页面可以在指定来源的 frame 中展示。

二、服务器端 

1、nginx

在配置文件的 http 、server 或者 location 中加入如下代码,来防止被嵌套。

add_header X-Frame-Options "SAMEORIGIN";

2、Apache

在 Apache 的配置文件的 site 中添加如下配置

Header always append X-Frame-Options SAMEORIGIN

3、htaccess

将如下代码加入网站根目录的 .htaccess 文件中,效果相同。

Header append X-FRAME-OPTIONS "SAMEORIGIN"

4、IIS

将网站根目录的web.config配置文件做如下修改,来禁止网站被嵌套。文章来源地址https://www.toymoban.com/news/detail-784513.html

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

到了这里,关于禁止网站被iframe嵌套的解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决iframe嵌套第三方网址不能访问

    第一种报错描述: Refused to display \\\'嵌套的网址\\\' in a frame because it set \\\'X-Frame-Options\\\' to \\\'sameorigin\\\'. 关于 X-Frame-Options : X-Frame-Options 是一个 HTTP 响应头部,用于防止网站被嵌入到其他网站的 iframe 中。该协议定义了一些选项,使网站可以控制在哪些网站中可以嵌入自己的内容,从而防

    2024年02月11日
    浏览(31)
  • html嵌套html的两种方法( iframe,load)

    src:你要导入的html scrolling:  是否开启滚屏 frameborder:  是否设置边框 style:设置样式 获取某个div的id或者class调用load方法 里面填写要嵌套html的路径就可以了

    2024年02月15日
    浏览(39)
  • 与iframe进行跨域交互的解决方案

    目录 前言 使用 postMessage() 方法 使用location.hash  document.domain属性  使用window.name 属性  CORS 使用JSONP 使用WebSocket  使用WebRTC  使用中间页面  在Web开发中,为了避免安全漏洞,浏览器会实行同源策略(Same-Origin Policy),即只允许同源网页之间进行交互,而跨域的交互是被禁止

    2024年02月05日
    浏览(36)
  • vue项目关于iframe嵌套的页面,在切换tab标签时会被重新刷新的问题处理方案

    这两天工作中遇到一个这样的需求,切换tab标签时,要求对应的tab页面不刷新,但是项目中加入了一部分含有iframe的页面,在切换路由的过程中,如果使用keep-alive是达不到缓存ifram嵌套的页面效果的。 vue中的keep-alive 1.原理:vue 的缓存机制并 不是直接存储 DOM 结构 ,而是将

    2024年02月04日
    浏览(45)
  • 小程序使用webview嵌套H5中使用iframe真机无法跳转 wx.miniProgram.navigateTo等失效问题

    小程序使用webview嵌套H5真机无法跳转 wx.miniProgram.getEnv、wx.miniProgram.navigateTo等失效无响应问题分享 原因分析:由于页面使用了iframe导致在子页面中真机无法准确获取页面运行环境(开发者工具中无影响); 解决方案:在调用方法前加一个 parent. 在父页面中调用方法即可正常运

    2024年02月03日
    浏览(36)
  • 项目中使用iframe引入html 解决路由错乱问题以及父子组件传值调用方法

    父组件 子组件: 方法一、通过子组件iframe1向父组件传值,再通过父组件向子组件iframe2传值可达到目的; 注意:模拟时 需要开启服务器,否则会出现跨域问题! 看图你应该就明白了 在项目中使用iframe引入html,引入的html中有路由跳转,当点击html页面中的路由跳转时,浏览器

    2024年02月01日
    浏览(38)
  • 前端跨域问题解决方法

    跨域是 WEB浏览器专有 的同源限制访问策略。(后台接口调用和postman等工具会出现) 跨源资源共享(CORS,或通俗地译为跨域资源共享)是一种基于 HTTP 头的机制,该机制通过允许服务器标示除了它自己以外的其他源(域、协议或端口),使得浏览器允许这些源访问加载自己的资

    2024年02月13日
    浏览(32)
  • Nginx跨域问题的解决方法

    Web前端开发经常会遇到跨域访问,如果没有办法让后台开放访问域,调用接口就会被浏览器拦截。解决跨域问题的方案,可以搭建一个后台服务做中间转发,也可以用 nginx https://so.csdn.net/so/search?q=nginx 转发。 问题发生在nginx 反向代理 https://so.csdn.net/so/search?q=%E5%8F%8D%E5%90%91%E

    2024年02月11日
    浏览(35)
  • 解决跨域问题的常用方法

    有一个小小的东西叫cookie大家应该知道,一般用来处理登录等场景,目的是让服务端知道谁发出的这次请求。如果你请求了接口进行登录,服务端验证通过后会在响应头加入Set-C

    2023年04月08日
    浏览(19)
  • 前端解决跨域问题(9个方法)

    什么是跨域? 跨域,是指浏览器不能执行其他网站的脚本。它是由 浏览器的同源策略 造成的,是浏览器对 JavaScript 实施的安全限制。 这里说明一下,无法跨域是浏览器对于用户安全的考虑,如果自己写个没有同源策略的浏览器,完全不用考虑跨域问题了。是浏览器的锅,对

    2024年02月03日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包