2009-07-28 77 views
0

我學到了相同來源的Javascript概念,這意味着Javascript代碼只能訪問從其下載的主機。Javascript同源安全問題

我的困惑是,我開發了Javascript代碼,將代碼本地存儲到.js文件中,並從另一個本地html文件調用Javascript代碼。當我使用IE打開本地html文件時,我發現Javascript可以訪問任何主機,例如Google和Bing。

這是我的代碼。我的困惑是,似乎Javascript的原始安全限制不適用於本地運行Javascript?

Javascript XMLHttpRequest issue

由於事先 喬治

回答

1

當你說「訪問任何主機」你是什麼意思?

您的意思是說您收到您的代碼在Google上加載網址的通知,或者您的意思是您可以詢問加載的網頁的HTML DOM。

我非常懷疑你可以做到以後。我記得從做這件事的經驗(前一段時間),接收通知,一個網頁已加載應該是可能的 - 只是你根本無法看到或修改該網頁上的任何內容。

+0

感謝David,我的意思是我可以發送請求並從google.com檢索響應。我認爲它打破了相同的原產地政策? – George2 2009-07-28 09:24:29

2

相同的源策略意味着xmlhttp請求可以完成到js加載和執行的同一個域,它由所有瀏覽器強制執行,而且如果您正在開發ajax代碼,則執行沒有意義它來自您將加載頁面的不同域。

IE對本地文件的SOP提出了一些例外,但這些都是邊緣情況,你不應該打擾他們。

+0

謝謝匿名,你的意思是對本地的js和html文件,同源的策略不適用? – George2 2009-07-28 09:25:26