同源策略控制不同源之間的交互,它是一個重要的安全策略,它用于限制一個源的文檔或者它加載的腳本如何能與另一個源的資源進行交互。它能幫助阻隔惡意文檔,減少可能被攻擊的媒介。不同源的交互通常分為三類:
跨域讀:
同源策略是不允許這種事情發生的,如果可以你就能使用 js 讀取嵌入在 iframe 中的頁面的 dom 元素,獲取敏感信息了。
跨域寫:
同源策略不阻止這種操作,比如向不同源的地址發送 POST 請求等,但是這種允許只限制在普通表單(而且是在沒有 CSRF token 或者驗證 referer 的情況下),對于 ajax 這種方式也是默認不允許的,如果隨隨便便允許就會出現使用 ajax 來進行 CSRF 請求的情況了。
跨域嵌入:
這種方式是默認允許的,我們可以在一個源中通過 iframe 嵌入 另一個源的頁面,但是如果想限制這種操作的話,我們可以設置 x-frame-options 這個頭,這樣設置了這個頭的頁面就允許被嵌入到不同源的頁面中了。
回答所涉及的環境:聯想天逸510S、Windows 10。
同源策略控制不同源之間的交互,它是一個重要的安全策略,它用于限制一個源的文檔或者它加載的腳本如何能與另一個源的資源進行交互。它能幫助阻隔惡意文檔,減少可能被攻擊的媒介。不同源的交互通常分為三類:
跨域讀:
同源策略是不允許這種事情發生的,如果可以你就能使用 js 讀取嵌入在 iframe 中的頁面的 dom 元素,獲取敏感信息了。
跨域寫:
同源策略不阻止這種操作,比如向不同源的地址發送 POST 請求等,但是這種允許只限制在普通表單(而且是在沒有 CSRF token 或者驗證 referer 的情況下),對于 ajax 這種方式也是默認不允許的,如果隨隨便便允許就會出現使用 ajax 來進行 CSRF 請求的情況了。
跨域嵌入:
這種方式是默認允許的,我們可以在一個源中通過 iframe 嵌入 另一個源的頁面,但是如果想限制這種操作的話,我們可以設置 x-frame-options 這個頭,這樣設置了這個頭的頁面就允許被嵌入到不同源的頁面中了。
回答所涉及的環境:聯想天逸510S、Windows 10。