用户登录界面
[img]http://dl.iteye.com/upload/attachment/468529/3956da13-7286-3ad4-b50e-43592d1909a5.gif[/img]
客户感觉每次都要输入验证码不爽,那么你会怎么做?
三次输入错误,24小时内都要验证码
我知道的三种解决方法:
cookie
session
数据库表记录
三种存储方式,数据库最安全,还可以判断下对方的ip,根据对方ip存储,可是我们项目是门户型网站,这个用户量是很大的。
cookie--相对还好,防君子不防小人,如果正常用户输入三次错误,24小时内用户都要重新输入,还可以给用户一种安全的感觉,增加了用户体验
session--浏览器一关就挂掉了,好写,用户体验可能比不上cookie
我最后决定用cookie搞
jsp里面直接写cookie,感觉不好,但标签怎么写又没查到,只晓得标签可以读,希望可以指点
欢迎大家提供想法
[img]http://dl.iteye.com/upload/attachment/468529/3956da13-7286-3ad4-b50e-43592d1909a5.gif[/img]
客户感觉每次都要输入验证码不爽,那么你会怎么做?
三次输入错误,24小时内都要验证码
我知道的三种解决方法:
cookie
session
数据库表记录
三种存储方式,数据库最安全,还可以判断下对方的ip,根据对方ip存储,可是我们项目是门户型网站,这个用户量是很大的。
cookie--相对还好,防君子不防小人,如果正常用户输入三次错误,24小时内用户都要重新输入,还可以给用户一种安全的感觉,增加了用户体验
session--浏览器一关就挂掉了,好写,用户体验可能比不上cookie
我最后决定用cookie搞
项目是web是struts2写,在struts里面写个成员变量private Integer loginTimes;
Cookie cTimes = WebUtils.getCookie(ServletActionContext.getRequest(),
loginError);
String Times = null;
if (cTimes != null) {
Times = cTimes.getValue();
loginTimes = Integer.valueOf(Times);
}
if ( 用户不存在) {
loginMessage = "用户名和密码不匹配,请重新输入";
/**标志cookie是否记录错误值**/
request.put("loginError", "error");
if(loginTimes==null)
loginTimes=0;
return LOGIN_JSP;
}
jsp里面直接写cookie,感觉不好,但标签怎么写又没查到,只晓得标签可以读,希望可以指点
欢迎大家提供想法