【发布时间】:2012-12-07 17:59:26
【问题描述】:
我正在尝试为以下情况寻找解决方案:
- 我有一个由 HTML、javascript、AJAX、广告等组成的网络应用程序。
- 我希望用户为我的应用程序/网站做出贡献,创建将嵌入其中的插件。
- 此插件将使用类似的技术(ajax、HTML 等)创建,因此我需要允许插件运行自己的 javascript 代码。
- 每个插件都将在包含一些用户信息和插件的页面中运行(如旧的 fbml facebook 应用程序)
问题在于,通过这种方式,插件还可以发出调用以获取用户信息。 (因为插件的代码是嵌入的,它的域将与主网站相同,并且代码将完全在我的网站上)。
所以问题是:我怎样才能避免它并精确控制插件可以获得哪些关于用户的信息?
插件不会被检查,可以随时更改,因此阅读所有插件代码不是解决方案。
我对任何建议持开放态度,可能简单有效,也可能不会将整个插件放在 iframe 中。
-- 编辑: 当有创建应用程序的旧方法时,Facebook 是如何做的? (现在只有iframe,但是有FBML应用方式,他们是怎么做到的?)
【问题讨论】:
-
如果您正在制作一个将在同一页面上执行的插件,恐怕您无能为力。即使可以,它也不会成为一个非常有用的插件系统。您必须找到一种方法来信任所使用的代码。
-
这个问题有点像问how safe is Greasemonkey?
-
不可能!允许在您的页面/域内执行任意 javascript 代码而无需任何检查/会引发各种安全问题。
标签: javascript ajax security embedding