gpt4 book ai didi

javascript - 嵌入式 javascript 和 HTML 中的安全性

转载 作者:数据小太阳 更新时间:2023-10-29 05:33:56 25 4
gpt4 key购买 nike

我正在尝试为以下情况找到解决方案:

  • 我有一个由 HTML、javascript、AJAX 和广告等组成的网络应用程序
  • 我希望用户为我的应用程序/网站做出贡献,创建将嵌入其中的插件
  • 此插件将使用类似技术(ajax、HTML 等)创建,因此我需要允许插件运行它们自己的 javascript 代码。
  • 每个插件都将在包含一些用户信息和插件的页面中运行(如旧的 fbml facebook 应用程序)

问题在于,通过这种方式,插件还可以调用以获取用户信息。 (因为插件的代码是嵌入的,所以它的域将与主网站相同,并且代码将完全在我的网站上)。

所以问题是:我怎样才能避免它并精确控制插件可以获取有关用户的哪些信息?

插件不会被检查,随时可以更改,因此阅读所有插件代码不是解决方案。

我对任何建议持开放态度,可能简单有效,并且可能不会将整个插件放在 iframe 中。

--编辑:当有创建应用程序的旧方法时,Facebook 是如何做的? (现在只有iframe,但是有FBML应用方式,他们是如何做到安全的?)

最佳答案

您是否听说过允许任意代码执行的漏洞。最危险的攻击之一是什么?

好吧,在这种情况下,您明确并愿意允许任意代码执行,并且您几乎没有办法对其进行沙盒处理。

1) 正如您所提到的,您可以在来自不同子域的 iframe 中运行“插件”,以将其沙盒化。这样插件就无法访问您的 cookie 和脚本。

请注意,如果您希望插件从该域与您的服务进行通信,那么它将是跨域通信。所以你要么求助于 JSONP,要么使用新的跨域访问控制规范。 (即用您的 Web 服务响应返回适当的 header -- Access-Control-Allow-Origin "plugins.domain.com")

2) 创建您自己的简单脚本语言并尽可能公开。这显然很乏味,即使您设法做到这一点,插件开发人员也会经历一段学习曲线。

关于javascript - 嵌入式 javascript 和 HTML 中的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13768502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com