我正在创建一个动态网页,并有一个登录页面- Login.jsp,在成功的身份验证后,它将重定向到另一个页面,比如Page1.jsp。
但是,如果我将网页的URL更改为“.Projname/ Page1.jsp”,则可以绕过登录页面并访问Page1.jsp。
我该怎么阻止这件事,谢谢你的帮助。
发布于 2013-11-29 02:47:46
在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会话变量设置为null。
发布于 2013-11-29 02:41:14
我在JSP中工作不多,但在PHP中,如果您没有登录,我会重定向到登录页面。
我相信这是在JSP中这样做的:
if (!checkIfLoggedIn()) {
response.sendRedirect(urlToLoginPage);
}更多信息:redirect.htm
https://stackoverflow.com/questions/20277503
复制相似问题