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