2012-06-12 69 views
0

試圖讓我的腦袋爲什麼只有JavaScript代碼只能回調到該頁面託管的同一個域,並且我知道您不希望代碼將個人詳細信息等發送到另一個域(可能是惡意網站)。瞭解crossdomain.xml和惡意腳本?

但是,如果其他域在其服務器上放置crossDomain.xml文件,是否意味着現在惡意網站可以接受呼叫?

正如你所猜測的,我對這是如何工作有一個基本的理解,所以任何幫助將不勝感激。

+0

是的,如果你允許所有的域名,但@Quentin說,你也可以只允許你信任的域名。 – ocanal

回答

2

如果站點A發佈合適的crossDomain.xml文件,站點B可以使用Adobe Flash從站點A讀取數據。這與JavaScript無關。

JavaScript等效爲CORS

在這兩種情況下,給出的許可應該是:

  • 對於非機密數據
  • 之網站的信任

在第一種情況下,如果站點B是惡意的話,它不會對數據做任何不好的事情。第二,網站A的開發者在信任網站B時犯了一個嚴重的錯誤。

+0

謝謝昆汀。我今天早些時候遇到了CORS,想知道它是否與crossDomain.xml相同,所以感謝回覆。如果我使用的是第三方插件,並且該插件正在進行跨域調用,那麼在Javascript中沒有使用過Flash,我的問題是如何防止這種情況發生?換句話說,如果在第三方服務器上安裝了CORS,那麼這是不是意味着可以在惡意服務器上接受跨站點調用? –

+0

@JD。我無法確定哪個服務器是哪個以及第三方插件如何參與您的評論。 CORS允許站點A授予站點B從站點A讀取數據的權限。如果站點B使用第三方JS,那麼該第三方JS可以從站點A讀取數據,因爲它在站點B上運行。站點沒有辦法A告訴開發人員X編寫的網站B上運行的JavaScript,並由開發人員Y編寫。 – Quentin

+0

感謝您抽出寶貴時間提供幫助。 –