我正在创建一个动态网页,并有一个登录页面 - Login.jsp,成功的身份验证将重定向到另一个页面,比如Page1.jsp。
但是,如果我将网页的网址更改为“... Projname / Page1.jsp”,我可以绕过登录页面并访问Page1.jsp。
如何阻止这一点,谢谢你的帮助。
答案 0 :(得分:1)
在Login.jsp页面成功登录后,您可以设置一些Session
变量,以便在加载Page1.jsp
时验证相同内容,以便在加载页面之前检查它是否具有有效的用户名
在Page1.jsp
:
<%
//get UserName to verify
String userName= (String) session.getAttribute("userName");
if(userName!=null)
{
//user is valid
}
else
{
//return here as user is invalid
response.sendRedirect("Login.jsp");
}
%>
<HTML>
<BODY>
Hello, <%= session.getAttribute("userName") %>
</BODY>
</HTML>
注意:当用户从他的页面注销/关闭浏览器时,你应该将userName
Session变量设为null。
答案 1 :(得分:0)
我在JSP中没有做太多工作,但在PHP中,如果您没有登录,我会将您重定向到登录页面。
我相信它是在JSP中完成的:
if (!checkIfLoggedIn()) {
response.sendRedirect(urlToLoginPage);
}
更多信息: http://www.tutorialspoint.com/jsp/jsp_page_redirect.htm