请教一个问题:
有三个r1.jsp和r2.jsp、r3.jsp。r1.jsp为用户登录界面。当用户名和密码正确时执行r3.jsp页面,r2.jsp为验证r1.jsp的页面。在r2.jsp里我用了session.setAttibute("user",a),session.setAttibute("pass",b)得到其值,这样就可避免用户直接登录r3.jsp,可问题是当第一次登录浏览器时好像是成功阻止了,可当我任意输入一个用户名时通过IE浏览器时却成功登录r3.jsp了,
请问各位有没有什么办法能阻止用户登录,也就是说必须在成功登录后才能进入r3.jsp(不能直接在IE浏览器上直接输入),小弟先谢了
有三个r1.jsp和r2.jsp、r3.jsp。r1.jsp为用户登录界面。当用户名和密码正确时执行r3.jsp页面,r2.jsp为验证r1.jsp的页面。在r2.jsp里我用了session.setAttibute("user",a),session.setAttibute("pass",b)得到其值,这样就可避免用户直接登录r3.jsp,可问题是当第一次登录浏览器时好像是成功阻止了,可当我任意输入一个用户名时通过IE浏览器时却成功登录r3.jsp了,
请问各位有没有什么办法能阻止用户登录,也就是说必须在成功登录后才能进入r3.jsp(不能直接在IE浏览器上直接输入),小弟先谢了
各位帮帮忙哈,急的
注意,是当用户登录成功之后才放进session哦,如果你先放,那就和你现在这样了,只要用户输入点什么东西就可以随意登录网页了
String name=(String)session.getAttribute("user");
String pass=(String)session.getAttribute("pass");
//当然具体怎么验证,你自己看着办,这样就可以防止别人直接访问此页面了
if(name==null||pass==null){
response.sendRedirect("r1.jsp");验证失败转向登录页面重新登录
}
但你要在r3.jsp里弄个退出按钮,用以删除session,否则登录过一次当然下次就通过了
肯研究就肯定会进步,好好学习吧
1是先得到name然后去数据库里select出来再equals。
2是用PreparedStatement来执行SQL就不能SQL注入了。