首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iframe被认为是"不良做法"吗?

在网页开发中,iframe 是一种嵌入其他网页或资源的方法,它可以用于在当前页面中插入另一个页面的内容。iframe 的使用可以使页面更加模块化,便于开发和维护。

然而,iframe 也存在一些缺点和安全隐患。例如,iframe 可能会导致跨站脚本攻击(XSS),因为它可以将恶意代码注入到页面中。此外,iframe 可能会导致性能问题,因为它们可能会导致页面加载时间变长。

总的来说,iframe 是否被认为是“不良做法”取决于具体情况和使用方式。在某些情况下,使用 iframe 可能是合适的,但在其他情况下,可能会导致安全或性能问题。因此,在使用 iframe 时,需要权衡利弊,并确保采取适当的安全措施。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

见识了电信流氓插iframe+分析解决方案

通过chrome右键的审查元素我们发现,我们的页面嵌入了一个iframe之中,而正因为文章编辑这个页面本身有一层iframe(src:post-new.php),这里挂了一次iframe,加上wp后台边栏这一层又被加了一次...进一步深入观察发现,流氓过的页面大概呈现这样的结构,其中第一个iframe的src正是你真正要访问的那个页面的地址...,“先加载判断是不良网页才屏蔽哦亲”,这个做法貌似比墙要人性化一些只不过手段比较拙劣,但是你怎么解释你收集我的显示器/浏览器的信息?...另外这个iframe造成的额外竖直滚动条的现象在页面刷新之后会消失,这个也符合绿色上网检测的要求。...第一,我们让我们的网页跳出电信的iframe,其实就一句js就搞定,可以搜搜“防止 iframe”,理论上设计上不需要被iframe的页面都应该加上一句跳出iframe的js以防止别人使用iframe

1.3K20

onbeforeunload事件a链接触发的问题

onbeforeunload本身并非W3C DOM-Event标准事件,只不过在很多时候国内的流氓做法就是离开页面,直接弹出收藏本网页的提示(虽然我很讨厌这种做法,但事实上很多公司一直都在这样默默地强奸用户...frameborder="no" scrolling="no" id="app_frame" name="app_frame" style="height: 600px; width: 100%;"> 如果iframe中有window.onbeforeunload事件,在点击链接test2、test3时会触发iframe内的window.onbeforeunload事件,test1、test4则不会...,尽管页面与iframe并非同一域。...我知道会有很多办法避免这种情况发生,比如改父层的实现==,但是这个页面是新浪微游戏的,我根本不可能有权力去要求什么… 所以想到一个办法是,在window.onbeforeunload函数里,判断当前鼠标的位置,如果在某一范围内则认为是点击了新浪微游戏的那些东东

1.8K20

在 HTML 中包含资源的新思路

它可能最终会成为一种有用的工具,也有可能成为不被推荐的做法。无论哪种方式,它对我们来说很有吸引力!...这是因为代码用 iframe 加载文件,并且在删除 iframe之前,用 onload 事件在 HTML 中 iframe 的位置之前注入了 iframe 里的内容。...可以惰性加载?是的,很快! 使用 iframe 进行此模式的另一个好处是, iframe 会在进入视口时获得延迟加载的能力。...).children[0]);this.remove()"> 可能存在的问题 iframe 在 web 上很常用,但是在页面中过度使用 iframe 可能会导致性能或内存消耗问题。...就目前而言,这种做法有希望成为之前将另一个文件直接包含在页面中方法的改进。 反馈 我们将会继续测试这种模式,如果我们发现了什么有趣的内容,会很快发布后续内容。

3.1K30

WEB安全防护相关响应头(上)

以前较忽略的步骤是:正确设置页面的响应头 (Response Headers) 。这类加入安全相关响应头的做法,往往是为了保护客户端/使用者的安全,减少使用者落入黑客的 WEB 陷阱的可能。...一、X-Frame-Options -- 打破框框 从 2008 年开始,研发人员发现一种利用视觉误导,引诱使用者行为的可能,这种做法后来命名为点击劫持 (Click Jacking) 。...攻击者的通常做法是,在自己的页面里通过框架(iframe)的形式,包含一个不属于它本站的页面。下面的示例代码里包含的就是 【163 邮箱】的设置页。...X-Frame-Options: DENY 完全不能嵌入到 iframe、frame 等标签中 X-Frame-Options: SAMEORIGIN 只能同源页面嵌入到 iframe 或者 frame...上面的一切看起来都很美好啦,但问题是:这些响应头难道是凭空出现的? 要怎么得到它们呢?一般的 WEB 服务器自身都支持响应头自定义设置。

1.7K10

8大前端安全问题(上) | 洞见

XSS有几种不同的分类办法,例如按照恶意输入的脚本是否在应用中存储,XSS划分为“存储型XSS”和“反射型XSS”,如果按照是否和服务器有交互,又可以划分为“Server Side XSS”和“DOM...如何防御 防御XSS最佳的做法就是对数据进行严格的输出编码,使得攻击者提供的数据不再被浏览器认为是脚本而误执行。...---- 警惕iframe带来的风险 有些时候我们的前端页面需要用到第三方提供的页面组件,通常会以iframe的方式引入。...如果说iframe只是有可能会给用户体验带来影响,看似风险不大,那么如果iframe中的域名因为过期而恶意攻击者抢注,或者第三方被黑客攻破,iframe中的内容替换掉了,从而利用用户浏览器中的安全漏洞下载安装木马...如何防御 还好在HTML5中,iframe有了一个叫做sandbox的安全属性,通过它可以对iframe的行为进行各种限制,充分实现“最小权限“原则。

93650

技术揭秘“QQ空间”自动转发不良信息

大家经常会看到QQ空间自动转发一些附带链接的不良信息,即便我们的QQ密码并没有被盗取。...针对这种情况,我们通过分析其原理得知其转发机制,下边我们以一个实例,并用最容易理解的方式来告诉大家这种不良信息是如何转发以及如何防范。...查看之前抓取到的利用该漏洞进行不良信息转发的页面,在该页面开头嵌入了一个iframe标签如下: ? 标签style为隐藏属性,从而使得该插入页面不会被用户发现,插入的页面链接就是构造好的url地址。...当页面加载时,页面通过这个url接口向腾讯地图的RealTime Bidding服务器发送一个请求,服务器没有对请求来源进行效验,直接将请求的数据返回,并附带了一些查询信息,如下图所示,其中exploit...当exploit = “eval(window.name);//”,请求服务器之后iframe标签里的内容就变成下边的内容: ?

2K90

Web前端安全问题

1、非持久型XSS(反射型XSS) 非持久型XSS,一般是通过给别人发送带有恶意脚本代码参数的URL,诱导用户访问该链接,然后恶意代码HTML解析执行。...通常使用两种方式来防御XSS攻击: 1、转义字符 对用户的输入应该永远保持不信任态度,最普遍的做法就是转义输入输出的内容,对于引号、尖括号、斜杠进行转义: function a(str) { if(...如果用户是在登陆状态下,后端就会认为是用户在操作,从而完成非法操作。 攻击过程为1、用户登陆A网站;2、A网站确认身份;3、B网站向A网站发送请求 如何防御CSRF攻击?...它的原理是通过iframe标签嵌套,然后将其透明度设置为0,在页面透出一个按钮诱导用户点击。...的方式展示 SAMEORIGIN,表示页面可以在相同域名下通过iframe展示 ALLOW-FROM,表示页面可以允许指定来源的通过iframe展示 中间人攻击 中间人攻击是攻击方同时与客户端和服务端建立连接

66910

深入分析IE地址栏内容泄露漏洞

什么,这是读心术?不,当然不是,下面让我们来看看IE是如何让攻击者做出魔幻般的事情的。 摘要 当脚本在object-html标签内执行时,位置对象将获得焦点并返回主位置,而不是它自己的位置。...在上面的代码中,“obj.html”在对象内部进行渲染,并且其内容放入与iframe类似的方框中,然而,虽然在窗口对象与顶层对象进行比较时返回值为true,但是它并非顶层窗口。...这时,该对象就能了解它所在的位置了,并且其行为类似于iframe。 在IE上进行测试 本质上,该对象在较旧的文档模式中被渲染为一个独立的实体,但在一个较新的文档模式中将被渲染为一个iframe。...有一些成员,如window.name,它们是通过对象继承得到的(该对象会继承其父对象的名称),不过这也不是太糟糕——但是某些广告技术会全地使用window.name来跨iframe传递信息,这种做法是很危险的...当然,它不一定是一个完整的URL,例如,如果用户在地址栏中输入单词,它将自动转换为搜索查询URL(IE默认为Bing),这当然可以完整读取! 在IE上进行测试

823100

【安全】899- 前端安全之同源策略、CSRF 和 CORS

其实表面上 SOP 分两种情况: 可以正常引用 iframe、图片等各种资源,但是限制对其内容进行操作 直接限制 ajax 请求,准确来说是限制操作 ajax 响应结果,这会引起后面说到的 CSRF 但是...,本质上这两条是一样的:总之,对于非同源的资源,浏览器可以“直接使用”,但是程序员和用户不可以对这些数据进行操作,杜绝某些居心不良的行为。...下面是 3 个在实际应用中会遇到的例子: 使用 ajax 请求其他跨域 API,最常见的情况,前端新手噩梦 iframe 与父页面交流(如 DOM 或变量的获取),出现率比较低,而且解决方法也好懂 对跨域图片...(例如来源于 )进行操作,在 canvas 操作图片的时候会遇到这个问题 如果没有了 SOP: iframe 里的机密信息肆意读取 更加肆意地进行 CSRF 接口第三方滥用 绕过跨域 SOP...CSRF 对策 SOP CSRF 占了便宜,那真的是一无是处? 不是!

1.3K10

移动端的那些坑

Safari的iframe会自动去适应内容大小而无视CSS中设置的width,该特性只能通过scrolling="no"属性关闭,并通过设置如下CSS样式设置width:width: 1px; min-width...: 100%;;但是设置scrolling="no"会导致安卓下iframe无法滑动,目前只能通过UA设备判断解决。...但是这种做法会取消掉浏览器其他的默认行为,比如页面默认的滚动。。。...屏蔽的 class 有些浏览器或者插件会通过DOM元素的class来识别是否为广告,并隐藏或者直接删除DOM。...在重叠的区域里,遮盖的元素绑定click,遮盖的元素绑定touch事件,且touch后遮盖的元素会隐藏的话,就会造成穿透,因为click是在touch之后延迟触发的,浏览器会误认为是在遮盖的元素上触发了

1.7K30

【HTTP劫持和DNS劫持】腾讯的实际业务分析

例如普通访问百度首页,前置跳转为http://www.baidu.com/?tn=90509114_hao_pg 在具体的做法上,一般分为DNS劫持和HTTP劫持。...在用户角度,这些劫持的表现分为:     1、网址无辜跳转,多了推广尾巴;     2、页面出现额外的广告(iframe模式或者直接同页面插入了dom节点)。  ...例如,不过这个是小细节,把正则表达式完善一下就ok了)     2、针对iframe加载的情况,需要先找到运营商设置的劫持规律...在iframe中的网页能正常打开,而不是又被拦截加iframe,可能是因为请求的url上或cookie上运营商做了标记。我们可以利用这个规则,躲过劫持。    ...如果劫持比例小,也许通过适当的补救做法会更好。 来看看检测到的劫持情况: ?

2.1K40

Android 嵌套 Intent

您是否知道,这种做法会让您的应用变得容易攻击? 接下来,我将会解释使用这种方法带来的问题,并提供一个解决方案来让您的应用在更安全的前提下实现相同功能。...这样的调用方式会产生两个不良的后果: 由于 ClientCallbackActivity 是 Provider 应用从外部启动的,在清单文件中必须将其标识为 exported,这样不仅 Provider...PendingIntent 和 Intent 之间的区别在于 PendingIntent 只有在其创建的 context 才能处理。...这样的做法对于 Provider 应用来说当然是有好处的,那对于我们自己的应用呢?...PendingIntents 可以认为是创建它的应用所处理的,这就是系统使用 PendingIntents 而不是普通 Intent 的原因。

30720

层层剖析一次 HTTP POST 请求事故

那么问题来了,如果不是这两层导致的,那么还会有别的因素或者别的网络层导致的?...综上而言,form表单中的moduleExport字段的变化很可能导致在WAF层拦截。...常见的跨域解决方案有:IFRAME, JSONP, CORS 三种。 IFRAME 是在页面内部生成一个IFRAME,并在IFRAME内部动态编写JS进行提交。...此做法需要后台支持,并且只能使用GET请求。在当前的业内已经废除此方案。 CORS 协议的应用比较广泛,并且此次出事故的系统是采用了CORS进行前后端分离。那么,什么是CORS协议呢?...整体流程如下: 不合理的跨域请求,我们一般认为是侵略性请求,这一类的请求,我们视为XSS攻击。那么广义而言的XSS攻击又是什么呢?

1.1K10

Instagram 的持续部署实践

更容易找出不良提交:无需在数十乃至数百个提交中寻找故障起因——范围锁定在单个、最多两到三个提交上。对之后才找到问题并回头 debug 的需求,这种做法也是非常奏效的。...接下来对 canary 机器执行一些基础分析:通过脚本收集各个请求的 HTTP 状态代码,对其分类并使用硬编码嵌入百分比阈值(比如5xx 不足0.5%,至少90% 2xx等),不过这种做法只会在阈值超出时对用户发出警告...如果有超过1%的主机无法部署,这次上线就会被认为是失败的。 当一切正常时,这时候执行上线仅需回答数次“是”,包括选取系统建议的提交、开始 canary 测试,继续整个机群的部署。...此时,我们经常需要有待命人员介入,立即对所有的积压任务执行部署,这种做法抵消了持续部署的另一个最大优势。...预期不良部署: 不良变更会出现,但不是什么大问题,只需快速检测到并执行回滚。 以上这些都是其他公司也能实现的一些东西,持续部署系统无需复杂,从简单的系统开始,注重上面几条原则,再进行完善即可。

851100

总结 XSS 与 CSRF 两种跨站攻击

这种做法的初衷也是防范 XSS,多多少少都起了一些作用,但不是总是有用,正如上面的注入代码,用 iframe 也一样可以达到相同的目的。...伪造的请求可以是任何来源,而非一定是站内。所以我们唯有一条路可行,就是过滤请求的处理者。...比较头痛的是,因为请求可以从任何一方发起,而发起请求的方式多种多样,可以通过 iframe、ajax(这个不能跨域,得先 XSS)、Flash 内部发起请求(总是个大隐患)。...弄哑,或者干脆脱离 iframe,使用 Flash 来达到目的。...上述请求令牌方法,就我认为是最有可扩展性的,因为其原理和 CSRF 原理是相克的。CSRF 难以防御之处就在于对服务器端来说,伪造的请求和正常的请求本质上是一致的。

1.7K80

说说JS中的沙箱

渲染进程沙箱(Sandbox)隔离,网页 web 代码内容必须通过 IPC 通道才能与浏览器内核进程通信,通信过程会进行安全的检查。...假如传入的代码不是按照的规定的数据格式(例如json),就直接抛出错误,阻止恶意代码注入,但这始终不是一种安全的做法。...sandbox是h5的提出的一个新属性, 启用方式就是在iframe标签中使用sandbox属性: <iframe sandbox src="..."...简单的说,通过postMessageAPI传递的对象,已经由浏览器处理过了,原型链已经切断,同时,传过去的对象也是复制好了的,占用的是不同的内存空间,两者互不影响,所以你不需要担心出现第一种沙箱做法中出现的问题...但是vm是绝对安全的?不一定。

2.5K30

深入分析IE地址栏内容泄露漏洞

此外,IE的阻止弹出窗口功能已经完全攻陷了,但是好像并没有引起人们的注意。...什么,这是读心术?不,当然不是,下面让我们来看看IE是如何让攻击者做出魔幻般的事情的。 摘要 当脚本在object-html标签内执行时,位置对象将获得焦点并返回主位置,而不是它自己的位置。...这时,该对象就能了解它所在的位置了,并且其行为类似于iframe。 ? 在IE上进行测试 本质上,该对象在较旧的文档模式中被渲染为一个独立的实体,但在一个较新的文档模式中将被渲染为一个iframe。...有一些成员,如window.name,它们是通过对象继承得到的(该对象会继承其父对象的名称),不过这也不是太糟糕——但是某些广告技术会全地使用window.name来跨iframe传递信息,这种做法是很危险的...当然,它不一定是一个完整的URL,例如,如果用户在地址栏中输入单词,它将自动转换为搜索查询URL(IE默认为Bing),这当然可以完整读取! ?

62950
领券