论坛首页 Java企业应用论坛

登录安全问题策略

浏览 13232 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-04-23  
cookie还是可以删除掉的。真正搞破坏的都是懂技术的。
所以还是放在服务器上安全!
0 请登录后投票
   发表时间:2011-04-23  
我觉得有3种解决办法:
1.使用cookie,缺点是安全性较低,好处是简单,方便,就算是服务器端重启了cookie也能使用。
2.在服务器端使用缓存,使用一个map来保存访问IP,访问失败次数,最近访问时间。使用map来查找,插入,删除信息都很方便,同时定时对map进行更新,将其中的过期信息删除,避免map过大。好处是安全性,性能都较高,坏处就是一旦服务器重启了,缓存也就消失了,没用了。
3.服务器使用数据库来保存保存访问IP,访问失败次数,最近访问时间信息,数据操作和使用map一样,但对数据库进行操作显然比使用map缓存效率低。好处是安全性更高,服务器重启后依然可以正常使用,坏处是显然的,会对性能造成影响。
0 请登录后投票
   发表时间:2011-04-23  
任何事物都没有绝对的安全, 加上验证码就安全了吗,

我们给用户的其实是一种感觉,用户觉得OK了就OK了,不要老去想说这样做不安全,

防盗门安全吗,那么多人买。心理作用嘛
0 请登录后投票
   发表时间:2011-04-23  
放cookie是个好主意,不过放cookie的话如果用户清掉cookie就得不到楼主的效果了。

那么,换个思维如何?


一开始呢,是用户必需输验证码。
用户登录的时候,如果一次就成功,那么,在cookie中的计数器加1。
如果这个计数器>=3后,就不用再出验证码了。

如果输错了呢?
那就把计数器往下减呗。第一次输错,降为3,然后3、2、1,验证码又出现了。
0 请登录后投票
   发表时间:2011-04-23  
有一个疑问,验证码一般是用来防止别人使用机器来攻击的吧。而机器的攻击往往不会在客户端维护与服务端的session关系,cookie也不会保存,那不是每次攻击都可以无需验证码了?那验证码的作用岂不是没有了?
0 请登录后投票
   发表时间:2011-04-24  
楼主面对的需求是一种用户体验,也就是用户的一种创新手段,提出这种需求的用户基本都非企业用户。
赞成楼主采用cookie的方式实现这种用户体验。
毕竟系统的性能才是更核心的用户需求。
0 请登录后投票
   发表时间:2011-04-24  
感觉cookie 还是不安全,如果客户端禁用cookie,那么你记录的值就没法写到cookie了!
0 请登录后投票
   发表时间:2011-04-24  
其实,用缓存是最好的方法了。你用户登陆的时候你不可能去查询数据库的,做企业应用或者是做门户都要把用户数据缓存起来的。
0 请登录后投票
   发表时间:2011-04-24  
如果是门户网站我建议单独使用一台服务器做认证中心呵呵。。
0 请登录后投票
   发表时间:2011-04-24  
悲剧了 写道
用户登录界面



客户感觉每次都要输入验证码不爽,那么你会怎么做?

三次输入错误,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,感觉不好,但标签怎么写又没查到,只晓得标签可以读,希望可以指点

欢迎大家提供想法




客户感觉每次都要输入验证码不爽,那么你会怎么做?

这个才是重点,
把验证吗删除就Ok了的

验证吗 只是为了防止 安全 以及恶意访问,

如果是 局域网 那么就没有必要了,

要么知道密码 要么不知道密码
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics