jsp 如何登录三次失败后 系统拒绝登录 将账号和登录次数放在服务器的一个Map<用户名,登录次数>结构的静态变量里,这样应该可以吧!每次登录前判断,如果登录失败更新次数!还要定时清空Map 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的想法:设计一张表:记录失败登陆的次数(error_count)、失败登陆的时间(error_time);规定失败登陆的时间间隔为5分钟,如果超过5分钟失败登陆重新类型失败登陆次数。场景:用户登陆 --> if(error_count >=3) 返回不能在登陆;else { 登陆失败, if(error_time < 5) error_count ++; else 设置 error_count =0 并更新记录;} 不要写到数据库,影响速度,登陆判断时这样写 if(){成功}else{失败;记录时间然后+1 第二次进到这里时用上次时间减当前再+1,第三次进这来用第一次时间减当前时间再+1,好比说这是一小时内登陆的次数}总共三次,登陆前js验证用ajax把后台的那个失败次数获取到,如果>=3就 button.style=灰/无 推荐的做法,用js的cooking来做,不涉及到数据库,减轻了服务器的压力 你是指对账号的限制还是对ip的限制?简单点,以账号和时间为条件,记录登录次数。1、9、10楼说的已经差不多了。至于放置的位置,放到哪里自己决定吧。给出建议的朋友也不少了。app、session和cookie都可以,只是不推荐数据库。 可以设置oracle数据库的字段!count统计访问的记录次数,如果查询三次就count=3可以采用java判断这个字段呀!如果等于3那么让他锁定一天! 放到session中,application中区别用户不方便 不好意思 引错地方了 我是指用COOKIE的做法 这样的比较好我觉得或者直接放在一个全局的,每次有一个其他的用户名登陆,就随机的给他一个变量,然后放在context里面里面,让他递增,等到超过三次的时候,给他一个提示,告诉他不让他登陆的。可以让他保存在一个相应的文件了面 实现方式一:session+数据库字段实现1.sesion中记录用户登录失败的次数。2.数据库字段记录用户登录3次失败以后需要解锁的时间。例如:12:00登录3次失败,锁定1小时,那么下次可以正常登录的时间就是13:00。当然时间记录方面肯定是带年月日什么的。那么剩下的你实现锁定就很简单了。每次登录时只需要检查登录锁定时间是否大于当前系统时间,如果是就为锁定状态,不进行登录处理。实现方式二:另外还有一种实现方式,为某个session设置单独的失效时间,假设要锁定某用户1小时,那么你就为该用户设置一个session,有效时间1小时,那么在此session存在的时间内,该用户就是被锁定的。 好幼稚的想法,浏览器一关闭,你的session就失效。 使用Cookie,这是最好的办法! 写个静态HashMap,每隔24小时清空一次里面放用户ID,失败次数登陆时判断一下失败次数是不是大于3,如果大于3就不允许登陆Cookie的话 人家清空Cookie就可以在来3次,这样无限Session的话 人家关闭浏览器再开一个就可以再来3次,无限数据库的话 可以确保没问题,可是额外增加了数据量 登陆验证什么的尽量不要用数据库,如果突然断电会导致一些意想不到的事,比如,你服务器可以做一个Map保存连续登陆错误次数和账号,超过3次就在一定的时间之内禁止登陆,这样,可能还需要往里面再存一个时间,具体的数据结构可以自己设计 放在cookie里,那不是换台电脑又能继续登录? 自动提取关键字 Eclipse3.4.1 MyEclipse7M2 的问题 求救,javascript 为什么没有获得optionTest对象 还是一个中文显示乱码的问题 jsp论坛生气了 sqlserver数据库 求助 我的版本太高还是太低了? 表单提交后,出现一个小问题,大家帮忙看看啊! 没搞定! 简单的itbatis类型问题 关于JDBC空值的问题 tomcat 启动错误 求解决 extjs tree的问题,希望有人可以解答~~
设计一张表:记录失败登陆的次数(error_count)、失败登陆的时间(error_time);
规定失败登陆的时间间隔为5分钟,如果超过5分钟失败登陆重新类型失败登陆次数。
场景:
用户登陆 -->
if(error_count >=3) 返回不能在登陆;
else {
登陆失败,
if(error_time < 5) error_count ++;
else 设置 error_count =0 并更新记录;
}
1、9、10楼说的已经差不多了。至于放置的位置,放到哪里自己决定吧。给出建议的朋友也不少了。
app、session和cookie都可以,只是不推荐数据库。
我觉得或者直接放在一个全局的,每次有一个其他的用户名登陆,就随机的给他一个变量,然后放在context里面里面,让他递增,等到超过三次的时候,给他一个提示,告诉他不让他登陆的。可以让他保存在一个相应的文件了面
session+数据库字段实现1.sesion中记录用户登录失败的次数。
2.数据库字段记录用户登录3次失败以后需要解锁的时间。例如:12:00登录3次失败,锁定1小时,那么下次可以正常登录的时间就是13:00。当然时间记录方面肯定是带年月日什么的。
那么剩下的你实现锁定就很简单了。每次登录时只需要检查登录锁定时间是否大于当前系统时间,如果是就为锁定状态,不进行登录处理。实现方式二:
另外还有一种实现方式,为某个session设置单独的失效时间,假设要锁定某用户1小时,那么你就为该用户设置一个session,有效时间1小时,那么在此session存在的时间内,该用户就是被锁定的。
里面放用户ID,失败次数
登陆时判断一下失败次数是不是大于3,如果大于3就不允许登陆Cookie的话 人家清空Cookie就可以在来3次,这样无限
Session的话 人家关闭浏览器再开一个就可以再来3次,无限
数据库的话 可以确保没问题,可是额外增加了数据量