javascript - Google Friend Connect 如何实现跨域通信而不需要上传文件到客户端域?

标签 javascript cross-domain xss

以前,Google 的 Friend Connect 要求用户将几个文件上传到他们的网站以启用跨域通信,而 Facebook Connect 仍然需要您上传一个文件才能启用它。

现在, friend 群不需要任何文件上传...我想知道他们是如何做到这一点的。

引用: http://www.techcrunch.com/2009/10/02/easy-does-it-google-friend-connect-one-ups-facebook-connects-install-wizard/

最佳答案

有多种方法可以在不同域的文档之间进行通信,其中包括 HTML5 postMessage、NIX、FIM(哈希/片段)、frameElement 和使用 window.name 属性。

这些在不同的浏览器和不同的版本中可用,但它们共同允许您进行可靠的 XDM(跨域消息传递)。

Apache Shindig 是较早完成这项工作的一个项目,它可能是其中许多项目的先驱,最近还有项目 easyXDM已经到来,通过通用 API 统一了所有这些方法,使得使用 XDM 和 RPC 创建复杂的应用程序变得容易。

您可以在 this article at Script Junkie 中深入阅读传输数据的各种方法。 .

现在,直接回答你的问题,早些时候人们普遍认为只有 postMessage,FIM(片段标识符消息传递)可用,并且为了使后者有效地工作,人们通常必须上传一个特殊的文件到您的域。随着越来越多的方法被发现,这已被许多人弃用为一种技术,因此;不再需要该文件。

仅作记录;我是 Script Junkie 文章和 easyXDM 库的作者(Twitter、Disqus 以及许多其他人正在使用的库)。

关于javascript - Google Friend Connect 如何实现跨域通信而不需要上传文件到客户端域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1534489/

相关文章:

javascript - jQuery/Dojo - 如何将 jQuery 与 Dojo 工具包一起使用

javascript - 在 Electron 中使用.net dll

javascript - 两个窗口或选项卡之间的跨文档消息传递,而不是 IFrame

javascript - 如何对 Google Maps API 进行跨域 AJAX 调用?

php - 跨站点脚本 (xss) 攻击

javascript - 如何以编程方式在用户桌面上创建 Web 应用程序快捷方式?

c# - 为什么 Response.Write 行为在给定场景中会有所不同?

php urlencode 和 htmlspecialchars html <a href> 中启动函数内的变量

security - 防止 XSS 的可靠方法?

javascript - 使用自动创建的名称保存范围变量并附加到范围