0
我想了解如何在網站上進行身份驗證。我不是要求代碼,我試圖理解這個概念。當用戶第一次訪問網站時,他/她會登錄,我的服務器會對其進行身份驗證。但是當用戶移動到下一頁時,由於http
是無狀態的,服務器如何知道當前用戶是已登錄的同一用戶?第一次請求後如何進行身份驗證?
我想到了幾種方法,如下所示,但我不相信他們會完美地工作。對於插件,它們可能效率不高。
- 發送
userid/password
在每個請求 - 非常糟糕的設計,因爲用戶名/密碼可以被黑客攻擊! - 使用
cookies
- 它也有缺陷,用戶可以將cookie發送給他/她的朋友,然後我的服務器將處於模糊狀態:
有沒有更好的方法來認證用戶後續請求?
注意:我不能使用https
協議,因爲它是慢http
也有一些商業上的原因。
的朋友可以訪問來自用戶計算機(類似餅乾)令牌或通過網絡?如果是,那麼這可能沒有用:|。我的意思是,假設令牌是'abcd',那麼黑客可以通過Web請求向服務器發送相同的令牌並掩蓋用戶的身份,不是嗎? – Abhishek
從計算機可能是的,如果你使用HTTPS,那麼網絡應該是安全的。令牌可能包含用戶的IP,以確保相同的令牌不能從另一個網絡使用。 –
如果可以從計算機複製,那麼它是不安全的,類似於cookie。我們不能使用ip,因爲ip可以被屏蔽:|。在這裏,我假設用戶想破解/入侵我的服務器。 'https'是一個選項,但不是解決方案,對吧?無論如何,我不能使用HTTPS我的問題:( – Abhishek