我正在開發一個Web應用程序,並且在實現登錄功能時遇到困難。 在我的應用程序中,用戶必須登錄才能添加新項目(行到數據庫,並將相應的用戶標識添加到新創建的行)。此外,用戶可以導航到應用程序中的不同頁面,這都需要用戶登錄。所以,一旦登錄成功,用戶ID就可以存儲在cookie文件中,以便與所有頁面共享。但是我意識到,用戶使用他的憑證登錄後,可以更改cookie文件並將cookie中的用戶標識更改爲其他人,然後查看另一個人的機密數據。如何防止這種類型的攻擊? PS:我爲我的應用程序使用servlet和JSP。維護會話中的Web應用程序日誌安全實現
回答
一種方法是,不是將用戶ID存儲在cookie中,而是將認證令牌存儲在會話cookie中;這個令牌需要每個用戶都是唯一的,並且很難猜測。爲此,您可以對用戶標識進行哈希和加密以生成身份驗證令牌。
爲了提高安全性,請確保令牌在會話結束時或用戶註銷後過期。
它也可以幫助您通過HTTPS執行此操作,以便您的流量得到加密。
這是一個很好的指南web based authentication。
如果我想添加有關將項目添加到數據庫的用戶的詳細信息,無論如何我都需要用戶ID。您能解釋一下,身份驗證令牌如何才能幫助您唯一識別添加字段的用戶,而不僅僅是幫助識別用戶是否已登錄? – user3388324
當然,您需要的是一種將用戶標識(例如會話表)與服務器端一起存儲的身份驗證令牌。通過這種方式,每次有請求時,您都可以驗證cookie中是否存在身份驗證令牌,並使用它從服務器端存儲中檢索用戶ID。 –
是否提及特定來源,指出技術的優點或缺點? – user3388324
- 1. 維護在Qt中開發的應用程序的會話日誌文件
- 2. 使用PhoneGap維護安全會話
- 3. 在iPhone Web應用程序中維護PHP會話
- 4. 線程安全日誌類實現
- 5. 實現線程安全日誌記錄
- 6. 頂點應用程序項目不會在會話中維護
- 7. 在服務器和Android應用程序中的會話維護
- 8. 在REST應用程序中維護會話的方式
- 9. 我們如何在Perl CGI Web應用程序中維護會話?
- 10. 維護PHP中的日誌
- 11. Skype Web SDK - 維護用戶會話
- 12. 如何在iOS應用程序中維護會話?
- 13. 在iPhone應用程序中維護會話狀態
- 14. 在WPF應用程序中維護會話
- 15. 維護.NET Web應用程序
- 16. Web應用程序安全
- 17. Web應用程序安全
- 18. 維護php和java應用程序之間的會話/連接
- 19. 在Rails應用程序上使用HTTPClient維護會話
- 20. tomcat中的安全web應用程序
- 21. J2EE7中的Web應用程序安全
- 22. 在多個Web應用程序中實現安全性的最佳實踐
- 23. 用於保護Web應用程序中用戶會話的標準安全功能是什麼?
- 24. 安全使用angularjs,登錄頁面和維護「會話」
- 25. 安全問題:僅在cookie中維護HTTP會話
- 26. Web應用程序與OpenAM的安全性如何保護
- 27. 如何實現log4j日誌記錄到現有的J2EE Struts Web應用程序?
- 28. 如何維護PHP會話狀態與其他應用程序
- 29. 如何在phonegap android應用程序上維護會話
- 30. GKSession - 切換應用程序和維護會話
http://www.jsptut.com/sessions.jsp –