同源策略(SOP)經常與跨站點腳本(XSS)一起提及。但似乎在SOP的世界裏,XSS仍然時有發生。 所以我從來不清楚同源策略會阻止什麼樣的攻擊? 換句話說,設想一個沒有SOP的世界,惡意攻擊者能夠獲得的與SOP相比的真實世界的其他威力?「同源產品政策」能給我們買什麼?
我在這個網站上閱讀(http://security.stackexchange.com/questions/8264/why-is-the-same-origin-policy-so-important),「假設你登錄到Facebook並訪問在另一個瀏覽器選項卡中存在惡意網站如果沒有相同的來源政策,該網站上的JavaScript可以對您的Facebook帳戶執行任何操作,允許您執行任何操作。「這實際上讓我更加困惑,因爲我從來沒有聽說過任何一個選項卡中的網頁的機制,即使從同一個域中操縱其他選項卡。 這裏還提到(更明確地說),SOP可以防止一個窗口中的腳本在另一個窗口中操作DOM元素(http://javascript.info/tutorial/same-origin-security-policy)。但是我真的不能將這個例子與解釋的內容聯繫起來(窗口在這裏是什麼意思?這個例子似乎是在討論iframe)。總之,任何人都可以給出一些具體的例子,說明如果沒有SOP會發生什麼?
此外,我很好奇如何在一個窗口中的腳本可以操縱另一個窗口中的DOM元素,前提是兩個窗口來自同一個域。但這不是這個問題的主要過程
謝謝!
我覺得OP有同樣的困惑,我有。 SOP適用於兩個方面:1.防止來自域A的腳本訪問並操縱來自域B的頁面的屬性或方法。2.阻止來自域A的腳本向域B的服務器發出請求。但是對於點2 ,現在有一個W3C標準的CORS來允許跨域請求的例外。點1仍然是不允許的。因此,在另一個選項卡中操作DOM元素實際上是處理SOP覆蓋的點1。 – 2014-11-28 10:18:40