背景安全與JSP /的JavaBeans/Servlet的/ MySQL的
HTML頁面,要求用戶輸入自己的用戶名和密碼。這些是MySQL數據庫的憑證(即它們將用於JDBC連接,因此沒有密碼物理存儲在文件中)。
在提交一個將嘗試連接到數據庫的servlet將被調用。如果可以,憑證是正確的,並且將加載一個JSP頁面。如果不是,則會顯示錯誤。
如果登錄成功,則Web應用程序將使用servlet執行數據庫上的SQL查詢/更新並將Java Beans返回給JSP頁面。
問題
對於內存而言我猜JDBC將需要關閉意味着後續頁面將需要重新啓動使用之前提供的憑據的連接。很明顯,用戶不希望每次都提供密碼,因此無論如何都必須存儲密碼。如果它們存儲在該會話的Java對象/ bean中(考慮到它必須是明文的,所以它可以被檢索和使用)......它們是否容易受到攻擊?這只是一個不好的,因爲它存儲在代碼中的文本?
我假設有人可以進入會話,並調用對象(如果他們知道這一點?)與細節在和瞧?
還有什麼替代方法?
感謝您的快速響應。在這種情況下,假定服務器是安全的(即其它安全應用程序運行它),並且將使用SSL。所以我認爲這很好。 愚蠢的後續行動 - 我如何將連接對象保存到會話中,並將其傳遞給響應?或者這只是一個給定的? – ajr
HttpServletRequest對象可以爲您提供一個Session對象,您可以在其中存儲任何您喜歡的對象。請參閱http://java.sun.com/javaee/5/docs/api/javax/servlet/http/HttpServletRequest.html#getSession%28%29 –