免責聲明:我已經看了各種方法來解決我的問題,所以請標註這是一個重複的問題
跨域請求到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