http是一種無狀態(tài)協(xié)議;
我們先探討用戶登陸的整個過程:
1、網(wǎng)頁顯示登陸頁面,用戶輸入用戶名和密碼等信息微渠,這時候安全點的做法是瀏覽器先把密碼信息做不對稱加密處理,然后傳輸?shù)椒?wù)器咧擂;
2逞盆、服務(wù)器收到加密后的用戶名密碼信息后進行校驗,通過后會啟動新session松申,并且把sessionID通過設(shè)置cookies方式傳輸?shù)綖g覽器云芦;
3、用戶在登陸情況下進行瀏覽網(wǎng)頁贸桶,每一個請求都會把sessionID通過cookies方式傳輸給服務(wù)器舅逸;
4、服務(wù)器通過cookies獲取到sessionID后皇筛,根據(jù)sessionID判斷是否是同一個用戶的請求琉历,然后根據(jù)session信息判斷是否登陸,是否有權(quán)限做某些操作水醋;
5旗笔、用戶關(guān)閉瀏覽器時,瀏覽器會把保存sessionID的cookies刪除拄踪,服務(wù)器端在session信息超時時會把服務(wù)端session刪除蝇恶。
也就是說保存sessionID的cookies標志了是否是同一個用戶的操作,而服務(wù)器并沒有對這個sessionID進行校驗惶桐,如果該sessionID被非法截取或者修改撮弧,合法用戶信息可能被非法使用潘懊。比如有兩個用戶,sessionID分別為A和B贿衍,黑客在發(fā)送http請求時設(shè)置sessionID為A則可以冒充A用戶進行相應(yīng)操作授舟,而把sessionID從A改為B就可以模擬用戶B行為。
所以服務(wù)器需要校驗session是否被修改和是否被盜用