Firefox 插件允许您进行跨域通信。
有没有办法公开这个功能,所以我可以从任何页面启动跨域 ajax(假设我已经安装了这个插件)?
编辑: 我知道什么是 CORS,只有当您控制服务器时,CORS 才有意义,但我不知道。这里的重点是我控制浏览器,我承担风险,所以我问是否无论如何要将跨域功能从插件阶段导出到用户区。
Firefox 插件允许您进行跨域通信。
有没有办法公开这个功能,所以我可以从任何页面启动跨域 ajax(假设我已经安装了这个插件)?
编辑: 我知道什么是 CORS,只有当您控制服务器时,CORS 才有意义,但我不知道。这里的重点是我控制浏览器,我承担风险,所以我问是否无论如何要将跨域功能从插件阶段导出到用户区。
正如您所说,同源策略仅用于保护客户端(您自己),通常免受 XSS 攻击。
我不确定你想用插件实现什么,但你当然可以尝试在你自己的机器上执行以下操作。通过更改 Firefox 上的设置,您可以忽略同源策略。
如果您正在尝试开发一个允许跨域访问的插件(因此可能会在您的客户端中打开漏洞),您可能需要使用一些非正统的技巧。我可以想到几种方法,但就像 CORS 一样,您至少需要访问某些服务器。您实际上可以创建一个代理来获取服务器上的资源。即,您插件的用户点击http://yourwebsite.com/?url=http://someotherwebsite.com/resource。
我想不出办法只做客户端解决方案。
跨域通信又名 CORS(跨源资源共享)只有在服务器允许并且浏览器支持的情况下才有可能。
在这篇维基百科文章中轻松阅读
在这个W3C文档中大量阅读,它仍然是一个工作草案。
我已经在C# Webserver中使用了 CORS 一年了。我注意到每当我不在服务器端添加 CORS 标头时,我都会遇到same origin policy
. 即使请求相同的 IP 地址但不同的端口。
如果服务器不支持 CORS,你可能会发现你的跨域请求失败
编辑:
我最近了解到可以使用Yahoo!解决相同的域策略。查询语言 (YQL)。有关更多信息,请参阅链接。
有关使用带有 xml 响应的 jquery的示例Cross Domain Post 方法 ajax 调用,请参阅此 SO 项
您也许可以使用这个 gem:https ://github.com/progrium/localtunnel
用户脚本具有跨域 XMLHttpRequest,它们甚至可以在所有浏览器上运行。
你可以访问其他服务器吗?JSONP 如果您有访问权限,这通常是一个好主意。