免责声明:我已经看了各种方法来解决我的问题,所以请标注这是一个重复的问题
跨域请求到localhost
前请阅读我有一个JavaScript上运行https://xyz.com
其中有从用户的本地机器上运行的应用程序ABC
检索信息说8080端口
我的约束是,我不能修改HTTP头散发形成ABC
我也不希望用户安装其他应用程序,这将是一个导管路由我的r equests到ABC
。
跨域/窗消息选项
一)window.postMessage:排除了,因为我不能有脚本在本地机器
B)XDR对象(IE中运行)或访问控制允许来源(Firefox,Safari等):排除,因为我无法修改标题
c)JSONP:再次这将不起作用,因为我无法将函数名称中的响应封入
作为解决方法,仅用于测试,我已将http://xyz.com
添加到受信任列表中,并已为此列表上的站点启用Access Data Across Domains
。 AFAIK,此选项仅适用于IE 5+浏览器。此变通办法可以让我从http://127.0.0.1:8080
发送和接收消息我的问题是双重的
1)如果我要继续用上述方法,当我进入生产什么是我的安全问题米暴露用户?我可以堵住那些孔吗?
2)是否有其他选择可以实现我的目标?
PS:我想应该尽量远离ActiveX或Flash作为可能的,但在这是唯一可行的办法,以我目前的做法话,那么我将不得不言听计从
干杯
我不明白,你目前的做法是什么?那只适用于IE? – 2010-11-19 20:45:32
Felix,我添加了临时变通办法的屏幕截图 – Philar 2010-11-19 21:00:40
所以它实际上并不是一个真正的解决方法,因为它只与IE一起工作;) – 2010-11-19 21:54:48