添加客户端iframe的安全性

时间:2012-03-13 02:44:39

标签: security video iframe

正如您所知,Pagedown是一个非常好用且简单的编辑器,但我想扩展其功能。到目前为止,我已经成功地嵌入了视频,因此在添加视频后,您可以在预览窗口中看到它。显然,我必须包含一个iframe来允许这样的行为,但是,我有点担心它的安全性。

你能告诉我iframe使用这种危险背后隐藏着什么样的危险吗?显然,唯一的目的是让用户看到他/她的帖子的样子,所以这只是客户端,但你永远不知道何时使用框架。

例如,如果我只允许来自某些域(YouTube)的视频,或者是否会暴露安全漏洞,那会没关系吗?

顺便说一下,谷歌Chrome给了我这个可爱的警告:

  

不安全的JavaScript尝试使用URL访问框架   file:/// somethinglocaladdress来自   网址为http://www.someaddress.com的框架。域,   协议和端口必须匹配。

这件事(Google Chrome警告)我应该关注吗?

更新:请注意我对phpgeek的评论。我似乎已经覆盖了他的建议,但我希望得到更多的答案,以确保我做得对。

谢谢!

2 个答案:

答案 0 :(得分:1)

Google跨站点脚本,或xss。危险在于,一帧中的JavaScript可以假设地影响包括父级在内的其他帧中的JavaScript。现代浏览器设置为在某种程度上阻止他,这就是你在chrome中得到警告的原因。

我会非常谨慎地为用户提供这种能力。您最好使用模板并让用户提供源的URL。然后,如果需要,您可以按域限制视频。 YouTube为其播放器提供了一个模板,如果我没有误会,它将在父框架上运行,它只适用于YouTube视频。让用户提供URL并将其添加到帖子之外的数据库

答案 1 :(得分:1)

我认为这不是你需要过于关注的事情。

关于安全性 - 谷歌在这里做了很好的解释:http://blog.chromium.org/2008/12/security-in-depth-local-web-pages.html

谷歌还概述了大多数其他浏览器如何处理iframe安全性(至少对于旧版本)。

除此之外,如果您的问题主要涉及与您的服务器相关的安全漏洞,我认为这不会引起问题。

您可能也有兴趣查看此页面:http://code.google.com/p/browsersec/wiki/Part2#Origin_inheritance_rules