同源策略,它是由Netscape提出的一個著名的安全策略。shell
如今全部支持JavaScript 的瀏覽器都會用到使用這個策略。跨域
所謂同源是指,域名,協議,端口相同。瀏覽器
當一個瀏覽器的兩個tab頁中分別打開來 百度和谷歌的頁面。安全
當瀏覽器的百度tab頁執行一個腳本的時候會檢查這個腳本是屬於哪一個頁面的。架構
即檢查是否同源,只有和百度同源的腳本纔會被執行。dom
若是非同源,那麼在請求數據時,瀏覽器會在控制檯中報一個異常,提示拒絕訪問。網站
瀏覽器的同源策略,限制了來自不一樣源的文件或腳本,對當前文件讀取或設置某些屬性。google
瀏覽器提出「Origin(源)」這一律念,來防止瀏覽器的頁面行爲發生混亂,不一樣源的對象沒法互相干擾。spa
當a.com經過代碼<script src=http://b.com/b.js ></script>加載了b.com上的b.js,可是因爲b.js運行在a.com頁面中,因此b.js的源就是a.com而非b.com(對當前頁面而言)設計
當帶「src」屬性的標籤須要跨站加載時,瀏覽器會發起一次GET請求。瀏覽器會限制其js的權限,使其不能讀or寫返回的內容。
若是XMLHttpRequest能跨域訪問資源,則會致使敏感數據泄露,從而發生安全問題。
XMLHttpRequest跨域訪問標準:經過目標域返回的HTTP頭來受權是否容許。 方案安全基礎:JS沒法控制HTTP頭。
Sandbox設計目的:爲了讓不可信任的代碼運行在必定的環境中,限制不可信任的代碼訪問隔離區以外的資源。emmmmm,有點像新冠隔離哈哈哈哈哈。
Google Chrome 的 Sandbox架構
多進程架構最明顯的好處就是在瀏覽器發生崩潰時,多進程瀏覽器只會崩潰當前Tab頁,對其餘頁面沒有影響
對處於「黑名單」的惡意網址進行攔截。常見的惡意網站:一類是掛馬網站(這類網站一般包含惡意的腳本如JS或Flash,經過利用瀏覽器漏洞來執行shellcode,在電腦中植入木馬);另外一類釣魚網站(經過模仿知名網站的類似頁面來欺騙用戶)。
主流瀏覽器開始支持EV SSL證書,以加強對安全網站的識別。
今天瀏覽器仍在不斷更新,微軟在IE8中推出的XSS Filter功能,能夠修改XSS攻擊的腳本中的關鍵字,使其攻擊無效,並對用戶彈出提示框。
使用CSP的方法以下,插入一個HTTP返回頭:
X-Content-Security-Policy:policy
其中policy的描述很靈活,好比:
X-Content-Security-Policy:allow 'self' *.mydomain.com
這樣瀏覽器將信任來自mydomain.com及其子域下的內容。
隨着瀏覽器的發展,客戶的瀏覽體驗也愈來愈好,但隨之而來的是許多看似「友好」的功能可能會致使一些安全隱患
例如許多瀏覽器地址欄會對畸形的URL進行處理,www.google.com\abc會被識別爲正常的www.google.com/abc
若是這類「友好」的功能被和黑客利用,可能會用於繞過一些安全軟件或模塊。
好吧,事實是我還沒看到後邊hhhhh~