簡體   English   中英

JSP在會話中存儲密碼

[英]JSP storing password in session

我知道這個問題已經被喚醒了很多次,但是現在還不清楚。

我將JSP與Hibernate結合使用,並且希望通過數據庫實現用戶的身份驗證功能- create user ...並使用相同的方法登錄。 因此,我的每個腳本都應該知道當前用戶的登錄名和密碼,以及我知道的使用會話的唯一方法,例如:

SessionFactory sf = new Configuration()
       .configure("/hibernate.cfg.xml")
       .setProperty("hibernate.connection.username", session.getAttribute("username"))
       .setProperty("hibernate.connection.password", session.getAttribute("password"))
       .buildSessionFactory();

看起來很脆弱嗎? 如果它在服務器端執行,為什么還要在會話中避免通過存儲?

是。 它似乎絕對是脆弱的。 您無需進行任何加密,因此任何嗅探客戶端HTTP請求的人都可以截獲她的用戶名/密碼。

http身份驗證機制的默認方法是創建令牌,該令牌在一段時間后會失效。 該令牌將在安全cookie中進行加密。 這樣,用戶的憑據只能通過網絡傳輸一次,最好是通過安全的https連接。 然后只有令牌會傳播。

無論如何, 您不必自己實現這樣的機制 ,更准確地說, 您不應該自己實現這樣的機制 ,除非您非常確定自己在做什么。

我強烈建議閱讀保護Web應用程序安全的基礎知識。 實現這種功能的最常見方法是使用基於表單的身份驗證 根據您的應用程序服務器,已經實現了身份驗證機制。 例如,檢查有關使用glassfish在jdbc領域進行表單身份驗證的帖子 ,或使用jboss引用同一主題的帖子

希望我能幫上忙!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM