嵌入式窗口小部件是否必须位于iframe中?

时间:2013-09-16 19:46:56

标签: javascript html ruby-on-rails ruby-on-rails-3

我的主要问题是,嵌入小部件是否完全有必要在iframe中?一些网站是否因某种原因拒绝了它在iFrame中的事实?你可以给我什么样的提示?

顺便说一下,内容只是javascript和html,没有视频,但也许是一些图片和javascript倒计时到一定时间。

我在rails中看过这个教程。我也使用rails,虽然我觉得它不重要。 http://www.doorkeeperhq.com/developer/embeddable-javascript-widget

1 个答案:

答案 0 :(得分:1)

如果您要显示不受信任的数据,那么出于安全原因,您肯定会在单独的域中的iframe中使用它。特别是如果您在客户端中有任何类型的敏感信息,例如会话cookie。

此外,你会想要它在iframe中,因为如果小部件中有任何错误,它将打破整个页面。用户无法移除小部件或修复小部件可能会非常糟糕。开发人员可能必须进入数据库并将其删除。

'只是JavaScript'已经足够了,它永远不会只是“JavaScript”。 JavaScript会窃取你的午餐,然后把它打到肚子里。 XSS几乎是您可能遇到的最可怕的安全漏洞之一。他们打败所有像密码登录的东西,甚至当你遇到XSS问题时,双因素身份验证也没用。

因此,不仅要使用iframe,还要将其托管在单独的域中。

使用iframe时遇到的问题可能取决于浏览器以及网站可能在iframe上设置的安全限制。您可以向iframe添加新的HTML5相关属性,以限制其功能。

顺便说一句,如果您希望其他第三方在没有iframe的情况下在他们的网站上实现您的小部件,那就太过分了。