使用 Firefox 插件进行跨域通信



Firefox 插件允许你进行跨域通信。

有没有办法公开这个函数,这样我就可以从任何页面启动跨域 ajax(鉴于我已经安装了这个插件)?

编辑:我知道什么是 CORS,只有当你控制了服务器时,CORS 才有意义,但我没有。这里的重点是我控制浏览器,我承担风险,所以我问是否无论如何都要将跨域功能从插件阶段导出到用户空间。

正如您所说,同源策略仅用于保护客户端(您自己),通常免受 XSS 攻击。

我不确定你想用插件实现什么,但你当然可以尝试在自己的机器上执行以下操作。 通过更改 Firefox 上的设置,您可以忽略同源策略。

如果您正在尝试开发一个允许跨域访问的插件(从而可能会在客户端群中打开漏洞),您可能需要使用一些非正统的技巧。 我可以想到几种方法,但像 CORS 一样,您至少需要访问某些服务器。 您实际上可以创建一个代理来获取服务器上的资源。 即,您的插件的用户点击 http://yourwebsite.com/?url=http://someotherwebsite.com/resource。

我想不出任何方法可以做仅限客户端的解决方案。

跨域通信(又名 CORS)(跨域资源共享)只有在服务器允许并且浏览器支持的情况下才有可能。

在此维基百科文章中轻松阅读

大量阅读此W3C文档,该文档仍是一个工作草案。

我已经在 C# Web 服务器中使用 CORS 一年了。我注意到每当我不在服务器端添加 CORS 标头时,我都会遇到same origin policy.即使请求相同的 IP 地址但不同的端口。

如果服务器不支持 CORS,您可能会发现跨域请求失败

编辑:

我最近了解到,使用Yahoo!查询语言(YQL)可以解决相同的域策略。有关详细信息,请参阅链接。

有关使用带有 xml 响应的 jquery 的跨域发布方法 ajax 调用示例,请参阅此 SO 项

你也许可以利用这个宝石: https://github.com/progrium/localtunnel

Userscripts具有跨域XMLHttpRequest,甚至可以在所有浏览器上运行。

您是否有权访问其他服务器?JSONP 如果您具有访问权限,这通常是一个好主意。

http://en.wikipedia.org/wiki/JSONP

相关内容

  • 没有找到相关文章

最新更新