如何使用jsp secure制作我的网站?

时间:2014-10-21 14:25:46

标签: jsp security webpage

我有一个用jsp 制作的网站,要求用户通过提供用户名和密码进行身份验证。他认证他可以在他的帐户中执行各种操作。我做的是什么我检查用户和密码是否完全匹配使用数据库。但问题是我只在第一页上进行身份验证,如果他输入下一页的网址,他可以绕过身份验证,这是违反安全的。知道这是一个非常常见的问题,但由于我是这个领域的新手,我不知道如何纠正这个问题?

1 个答案:

答案 0 :(得分:0)

按重要性排序,越往下越多,你可以忽略它我猜:)

首先,确保填写用户名/密码的页面使用https。

其次,确保数据库不将密码存储为纯文本,但使用非过时算法对其进行加密。 (密码不正常)当您检查给定密码时,加密用户输入的密码,并将两个加密表单相互比较。它们应该完全相同。

第三,使用Session存储用户凭据(可以存储在“loggedInUser”键下的值:用户名。不要在此处存储密码:)

第四,在会话中尝试存储来自用户请求(ip地址,用户代理)的一些元素,当您检查用户已经登录时,您还验证ip,user-agent仍然匹配。这不是一个万无一失的解决方案,但它使得欺骗会话变得更加困难。

您可以编写一小段代码,您可以在每个页面中包含(不是复制粘贴,但使用include指令)。如果你把它作为第一个被包含在其他任何人之前的片段,你可以直接进入你的登录页面。 (如果事先已经有新行输出,请小心,如果你已经编写了响应,则重定向不起作用.jsp真的不是一个做逻辑的好地方)

file:checkLoggedIn.jsp

<%
    String loggedInUser = session.getParameter( "loggedInUser" );
    if (loggedInUser == null) {
        response.sendRedirect("/login.jsp");
        return; // not 100% sure but think you need to have this one.
    }
%>