假设我的 Web 应用程序中有一个 servlet,并且所有用户都需要登录才能执行任何操作。因此,在 get
和 post
方法中,有一个 if
block ,用于通过尝试提取 session 属性来测试用户是否已登录以进行处理请求,如果未登录,else
重定向到登录页面。
考虑到这种情况,入侵者是否可以在不知道密码的情况下操纵系统进入系统?假设密码被硬编码到 servlet 中。如果是的话,他会从哪里开始呢?
最佳答案
我会看http://docs.oracle.com/javaee/5/tutorial/doc/bncbe.html#bncbj以及从该部分链接的有关指定身份验证机制的部分。
另请参阅(在 Stackoverflow 上)Looking for a simple, secure session design with servlets and JSP和 How do servlets work? Instantiation, sessions, shared variables and multithreading
简而言之,如果您使用这些页面上描述的机制,则您不需要自己做太多检查 session 属性的事情。您的登录表单可以在需要身份验证的“表单登录”配置中使用。
关于java - 如果 Servlet 在请求处理程序中检查给定的 session 属性,它是否为 "secure"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15724520/