锁定老帖子 主题:登录安全问题策略
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-04-23
cookie还是可以删除掉的。真正搞破坏的都是懂技术的。
所以还是放在服务器上安全! |
|
返回顶楼 | |
发表时间:2011-04-23
我觉得有3种解决办法:
1.使用cookie,缺点是安全性较低,好处是简单,方便,就算是服务器端重启了cookie也能使用。 2.在服务器端使用缓存,使用一个map来保存访问IP,访问失败次数,最近访问时间。使用map来查找,插入,删除信息都很方便,同时定时对map进行更新,将其中的过期信息删除,避免map过大。好处是安全性,性能都较高,坏处就是一旦服务器重启了,缓存也就消失了,没用了。 3.服务器使用数据库来保存保存访问IP,访问失败次数,最近访问时间信息,数据操作和使用map一样,但对数据库进行操作显然比使用map缓存效率低。好处是安全性更高,服务器重启后依然可以正常使用,坏处是显然的,会对性能造成影响。 |
|
返回顶楼 | |
发表时间:2011-04-23
任何事物都没有绝对的安全, 加上验证码就安全了吗,
我们给用户的其实是一种感觉,用户觉得OK了就OK了,不要老去想说这样做不安全, 防盗门安全吗,那么多人买。心理作用嘛 |
|
返回顶楼 | |
发表时间:2011-04-23
放cookie是个好主意,不过放cookie的话如果用户清掉cookie就得不到楼主的效果了。
那么,换个思维如何? 一开始呢,是用户必需输验证码。 用户登录的时候,如果一次就成功,那么,在cookie中的计数器加1。 如果这个计数器>=3后,就不用再出验证码了。 如果输错了呢? 那就把计数器往下减呗。第一次输错,降为3,然后3、2、1,验证码又出现了。 |
|
返回顶楼 | |
发表时间:2011-04-23
有一个疑问,验证码一般是用来防止别人使用机器来攻击的吧。而机器的攻击往往不会在客户端维护与服务端的session关系,cookie也不会保存,那不是每次攻击都可以无需验证码了?那验证码的作用岂不是没有了?
|
|
返回顶楼 | |
发表时间:2011-04-24
楼主面对的需求是一种用户体验,也就是用户的一种创新手段,提出这种需求的用户基本都非企业用户。
赞成楼主采用cookie的方式实现这种用户体验。 毕竟系统的性能才是更核心的用户需求。 |
|
返回顶楼 | |
发表时间:2011-04-24
感觉cookie 还是不安全,如果客户端禁用cookie,那么你记录的值就没法写到cookie了!
|
|
返回顶楼 | |
发表时间:2011-04-24
其实,用缓存是最好的方法了。你用户登陆的时候你不可能去查询数据库的,做企业应用或者是做门户都要把用户数据缓存起来的。
|
|
返回顶楼 | |
发表时间:2011-04-24
如果是门户网站我建议单独使用一台服务器做认证中心呵呵。。
|
|
返回顶楼 | |
发表时间: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了的 验证吗 只是为了防止 安全 以及恶意访问, 如果是 局域网 那么就没有必要了, 要么知道密码 要么不知道密码 |
|
返回顶楼 | |