更新時間:2022-09-20 09:57:44 來源:動力節(jié)點 瀏覽1639次
在Java教程中大家會學(xué)習(xí)Java Web相關(guān)技術(shù),里面就會講到同源策略,它是一種瀏覽器安全功能,它限制由一個源加載的文檔或腳本,以訪問或與來自另一個源的文檔或腳本交互。源由協(xié)議、主機和端口組成。
例如,考慮以下 URL:
http://www.ilovecolors.com.cn/
在上面的例子中,“http://”是協(xié)議,“bjpowernode.com”是主機,端口是“80”。
注意:默認情況下,網(wǎng)站使用端口 80。
同源策略是必要的,因為當(dāng)瀏覽器從一個源向另一個源發(fā)送 HTTP 請求時,所有相關(guān)數(shù)據(jù)(即 cookie、身份驗證令牌、會話或任何相關(guān)數(shù)據(jù))都會作為請求的一部分發(fā)送。如果其他來源是惡意的,它將能夠訪問受害用戶的所有信息。
如果沒有同源策略并且您訪問了惡意網(wǎng)站,它將能夠從您的社交網(wǎng)絡(luò)帳戶中讀取所有消息。
當(dāng)兩個來源具有相同的協(xié)議、主機和端口時,就說它們是相同的。
當(dāng)涉及兩個不同的來源時,瀏覽器將應(yīng)用同源策略。
頁面無法訪問 iframe 中的內(nèi)容,除非它們來自同一來源。
不允許使用 XMLHttpRequest。
來自特定站點的會話 Cookie 不能發(fā)送到具有不同來源的頁面。
注意:如果是 cookie,則不檢查協(xié)議和端口。僅檢查主機。
同源策略并不完全限制兩個源之間的交互。瀏覽器檢查兩個來源之間的交互是否構(gòu)成威脅,如果不是,則允許交互。
同源策略加強了一些安全性,但不足以防止各種攻擊。他們之中有一些是:
跨站點請求偽造(CSRF)攻擊基本上利用了不同的來源。這就是為什么除了同源策略之外還應(yīng)該使用反 CSRF 令牌的原因。
同源策略也可以防止跨站點腳本(XSS)攻擊,但為了防止它必須限制從外部源加載腳本,這可能會破壞 Web 應(yīng)用程序的功能。如果大家想了解更多相關(guān)知識,不妨來關(guān)注一下本站的JavaWeb入門教程,里面的課程內(nèi)容由淺到深,細致全面,通俗易懂,適合小白學(xué)習(xí),相信對大家一定會有所幫助的。
初級 202925
初級 203221
初級 202629
初級 203743