關於安全性問題:(XSS,csrf,cors,jsonp,同源策略)


關於安全性問題:(XSS,csrf,cors,jsonp,同源策略)

 Ajax 是無需刷新頁面就能從服務器獲取數據的一種方法。它的核心對象是XHR,同源策略是ajax的一種約束,它為通信設置了相同的協議,相同的域名,相同的端口。為此,會訪問不到之外的資源,因此采用幾種方法可以解決這一問題,第一:跨源資源共享CORS;第二:JSONP和圖像Ping,但是不如CORS穩妥。

對於CORS:整個cors通信過程是由瀏覽器自動完成的,關鍵在於服務器,只要服務器提供了cors接口,就可以跨源通信。對於簡單請求,瀏覽器直接發出cors請求,即在頭信息之中。增加一個origin字段;

如:GET/corsHTTP/1.1

Origin:http://api.bob.com  本次請求的跨源地址,服務器會根據該地址決定是否同意該請求。服務器會返回Access-Control-Allow-Origin該類型字段;

Host:api.alice.com

Accept-Language:en-US

Connection:keep-alive

User-Agent:Mozilla/5.0

與jsonp比較:jsonp只適用於get請求,但是它可以支持老式瀏覽器。而cors不支持老式瀏覽器,但是可以支持所有類型的HTTP請求。

對於JSONP:通過引入script標簽,直接使用src屬性引入外部的url。並對其設置cb函數。在資源加載進來的時候定義好一個函數並與cb函數一個名,並把返回的數據作為參數傳入該函數,函數內進行一定的操作。

 

XSS與CSRF:

         Csrf:跨站點請求偽造,未經授權系統有權訪問某個資源的情況。為了保證通過XHR訪問的URL安全,可以通過驗證發送請求者是否有權限訪問相應的資源。方法:每一次請求都要附帶經過相應算法計算得到的驗證碼;要求以SSL連接來訪問;

   Xss:跨站腳本攻擊,即惡意攻擊者向web頁面里插入惡意攻擊腳本代碼。解決方案:首先:對請求的數據進行轉換和過濾,包含在客戶端和服務器端的轉換和過濾。通過將url,查詢的關鍵字,http報頭,post數據等可以設置規定的長度,采用適當的格式,過濾或忽略部分內容等等。其次可以采取同源策略實現安全;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM