背景安全与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 –