javascript - 对本地主机的跨域请求

标签 javascript ajax cross-domain

免责声明:我已经研究过各种方法来解决我的问题,因此请在将此标记为重复问题之前阅读此内容

我有一个在 https://xyz.com 上运行的 javascript,它必须从在用户本地计算机上运行的应用程序 ABC 中检索信息,例如端口 8080。< br/>

我的限制是我不能修改从 ABC 发出的 HTTP header ,也不希望用户安装另一个应用程序,它将成为将我的请求路由到 ABC.

跨域/窗口消息传递选项

a) window.postMessage: 排除了,因为我不能在本地机器上运行脚本
b) XDR Object (IE) or Access-Control-Allow-Origin (Firefox,Safari et al):排除因为我不能修改标题
c) JSONP: 同样,这将不起作用,因为我无法将响应包含在函数名称中

作为一种变通方法,仅用于测试我已将 http://xyz.com 添加到受信任列表并为站点启用了 跨域访问数据在这份名单上。 AFAIK,此选项仅适用于 IE 5+ 浏览器。此解决方法允许我从 http://127.0.0.1:8080
发送和接收消息 alt text

我的问题有两个方面
1)如果我在投入生产时继续使用上述方法,我会给用户带来哪些安全隐患?我可以堵住那些洞吗?
2) 是否还有其他选择可以实现我的目标。

PS:我希望尽可能远离 ActiveX 或 Flash,但如果这是我当前方法的唯一可行替代方案,那么我将不得不服从< br/>

干杯

最佳答案

如果本地应用程序可以提供单个 html 文档,充当桥梁,那么您可以轻松地使用跨文档消息传递(例如使用 easyXDM )以及来自该文档的 ajax 请求来执行此操作。这是一种非常简单且常用的方法。

easyXDM居然自带这么一个文档,大家可以看看here .

关于javascript - 对本地主机的跨域请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4229182/

相关文章:

javascript - 使用kafka消费者进行数据库操作或http调用

javascript - 关于chrome全屏消息禁用

javascript - 从维基百科解析请求中检索 pageid

javascript - 根据位置标签填充下拉列表

javascript - 如何使用 XMLHTTPRequest 传递变量

sharepoint - 由于跨源资源共享 (CORS),主机 Web 上的 SP.ClientContext 失败

javascript - SystemJS:使用捆绑文件更正 System.import

javascript - Ajax 表单提交将查询字符串附加到 url 并重新加载页面

javascript - 响应为404如何使用Service Worker缓存跨域资源?

php - 自定义跨域度量跟踪系统在 php 中的实现