目前,我通過將會話中的某個密鑰與MySQl數據庫中的同一個密鑰進行匹配來進行身份驗證用戶會話。我用每個頁面加載的MD5保護的隨機數重新生成會話。我知道會話本身並不安全,而且我正在尋找更快的安全選項,可以快速連接到此方法。
任何想法?
目前,我通過將會話中的某個密鑰與MySQl數據庫中的同一個密鑰進行匹配來進行身份驗證用戶會話。我用每個頁面加載的MD5保護的隨機數重新生成會話。我知道會話本身並不安全,而且我正在尋找更快的安全選項,可以快速連接到此方法。
任何想法?
由於會話數據存儲在服務器端,會話ID用於將客戶端的請求與某個會話相關聯,因此需要保護會話ID。保護會話ID唯一可行的措施是使用TLS/SSL加密客戶端和服務器之間的連接。
因此,只要客戶端和使用之間的數據傳輸得到保護,您就可以使用會話。此外,您可以將PHP會話修復爲TLS/SSL會話,以便PHP會話僅在該特定的TLS/SSL會話中可用。
您已經開始喋喋不休,無法提高安全性,並可能損害您網站的功能。
我在一個MySQL數據庫
即使撇開拼寫錯誤匹配的會話是同一個鍵一個鍵autheticatic [原文]用戶會話,這是無稽之談。你的意思是你用這種方法驗證請求嗎?如果是這樣,它仍然不能幫助你的安全。您已通過取消參考會話來驗證請求。請求是否經過授權是完全不同的 - 如果您需要驗證用戶那麼您應該在會話數據中標記這一點。
聽起來好像你正試圖阻止CSRF,但這與所有用戶,會話或請求的身份驗證有關。
我重新生成會話......在每一個頁面加載
再次,這是語義無稽之談。你不能「重新生成會話」。你的意思是你創建一個新的sessionId?如果是這樣,那麼當用戶試圖打開第二個窗口或使用後退按鈕時,您所實現的就是創建錯誤。它提供了很少的CSRF保護。
是MD5只需使用隨機加密功能,不會使您的應用程序的安全保護
。無論真實數據和代理標識符之間的映射是什麼,它本身都不提供針對MITM的保護。
要麼你描述當前的安全措施做得很糟糕,要麼你寫了很多沒有用處的代碼。
去看看很多Stefan Esser's和/或Chriss Schiflet's的東西。