關於瀏覽器跨域的分析

2021-08-15 19:45:16 字數 468 閱讀 8390

跨域是瀏覽器基於同源策略的安全處理,防止csrf網路攻擊;

跨域請求一般指ajax的跨站請求,http請求型別type為xhr,以下幾種請求不會出現跨域:href請求、src請求等;

當使用者訪問a站,登入a站並擁有相關許可權;使用者沒有退出a站,登入了惡意**b站,如果瀏覽器沒有跨域限制;瀏覽會自動帶上使用者在a站的cookie操作a站的相關許可權,a站不能區別是否為惡意攻擊,從而導致跨域安全問題。

其實,即使瀏覽器限制了跨域請求,當專案涉及到重要請求時,必須做好服務端許可權驗證,比如token,而不是僅僅用cookie實現許可權驗證。

同源策略只能保證請求的響應內容不被看到,但服務端還是會處理跨域的請求。

1.web專案中盡量使用token類似的方式解決許可權校驗;

2.能夠修改前後端**時,可使用jsonp和filter加響應頭的方式解決;

3.不能修改後端**時,通過反向**和httpclient方式(脫離瀏覽器限制);

瀏覽器跨域

前端部分,簡單的封裝乙個promise版的ajax let myajax function headers else xhr.open method,path for let key,value of object.entries headers xhr.send body myajax heade...

瀏覽器跨域

同源策略 同源策略是乙個重要的安全策略,它用於限制乙個origin的文件或者它載入的指令碼如何能與另乙個源的資源進行互動。它能幫助阻隔惡意文件,減少可能被攻擊的媒介。協議 網域名稱 埠號 http伺服器,預設的埠號為80 tcp 木馬executor開放此埠 https securely trans...

瀏覽器設定跨域

由於專案前端使用8001埠,後端使用的8080埠,因此前端呼叫後端介面時需要跨域,在瀏覽器中需要設定跨域,否則會由於跨域安全性導致請求失敗。比如chrome中,需要新建乙個chrome瀏覽器的快捷方式,右鍵選擇屬性 新增 disable web security user data dir c ch...