开发者社区> 问答> 正文

关于3次登陆错误出现验证码的问题

现在有2种思路,
第一种,是数据库存储。用户每次登陆的时候,先从“登陆错误表”查找登陆错误次数,如果错误次数小于3,就去比对用户名和密码,如果不匹配,错误次数+1。如果登陆错误次数 大于3 就要产生验证码了, 这样操作的缺点是每次都要访问一下“登陆错误表”,费时费事。
第二种是 通过session 记录登陆错误次数,但是管理浏览器session 就没有了,而且cookie 很容易模拟的。
到底怎么办才好呢?

展开
收起
蛮大人123 2016-02-29 17:52:29 3100 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    要谨记:永远不要相信客户端数据。设计网站时需要把用户假想成企图攻破你网站的黑客。所以session是绝对不能用的。删下cookie就绕过了。
    因此只能用数据库。实现这种功能最适合用高速的非关系式数据库,例如redis。此外,如果不需要100%严格保证产生验证码,也可以用memcache等。
    如果只有一台服务器,甚至可以使用服务器端全局变量。但要注意将来扩大规模可能有难度。

    2019-07-17 18:50:44
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载