2014-12-22 45 views
1

我將編寫一個負責用戶身份驗證的服務器API。從我的極限知識和理解中,當用戶使用用戶名和密碼登錄時,會話將被創建,並且使用用戶名的auth cookie將保存到cookie中。當用戶請求下一頁時,cookie中的用戶信息將發送到服務器,服務器將識別它。所以我的問題是,如果另一個人手動複製現有的cookie信息並在另一臺計算機的瀏覽器中創建相同的cookie,該怎麼辦?它會跳過登錄階段嗎?任何人都可以詳細解釋如何防止這個細節?謝謝使用cookie進行節點用戶身份驗證

回答

1

是的,它很可能會跳過登錄階段。你所描述的是會話劫持或cookie劫持的一種形式。通過未加密連接(即HTTP而不是HTTPS)使用cookie不是一個安全的解決方案,因爲任何人都可以竊取和使用相同的cookie,通常這足以獲得完全訪問權限而無需進行身份驗證。 (雖然它通常不是很難被利用,但並非不可能)。

很快就會有沒有理由不使用HTTPS(詳見my answer to other question)。

除了確保沒有人能夠讀取cookie(使用HTTPS和HttpOnly),您還必須確保沒有人能夠猜出會話ID(例如,它不能是連續的或小數字的或類似的那)。

參見:

相關問題