java - 关于3次登陆错误出现验证码的问题
巴扎黑
巴扎黑 2017-04-17 11:48:37
[Java讨论组]

现在有2种思路,
第一种,是数据库存储。用户每次登陆的时候,先从“登陆错误表”查找登陆错误次数,如果错误次数小于3,就去比对用户名和密码,如果不匹配,错误次数+1。如果登陆错误次数 大于3 就要产生验证码了, 这样操作的缺点是每次都要访问一下“登陆错误表”,费时费事。

第二种是 通过session 记录登陆错误次数,但是管理浏览器session 就没有了,而且cookie 很容易模拟的。

到底怎么办才好呢?

巴扎黑
巴扎黑

全部回复(2)
ringa_lee

要谨记:永远不要相信客户端数据。设计网站时需要把用户假想成企图攻破你网站的黑客。所以session是绝对不能用的。删下cookie就绕过了。

因此只能用数据库。实现这种功能最适合用高速的非关系式数据库,例如redis。此外,如果不需要100%严格保证产生验证码,也可以用memcache等。

如果只有一台服务器,甚至可以使用服务器端全局变量。但要注意将来扩大规模可能有难度。

天蓬老师

不只是楼主的问题,通常如果有很多需求要频繁查询数据时,应该在服务器启动的时候,将频繁需要的数据一起加载到内存中,这样就可以不用频繁连接数据库,获取时还方便。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号