如何防止登录API 被暴力破解?

目前我遇到了一个问题,我正在做一套用户登录的api,将来这套api是给pc和app上共同使用的,那么问题来了,如何防止api被暴力破解?如果对方只使用一个账号进行密码匹配还好,我可以记录账号的登录次数,超过了一定次数就将该账号冻结,但是问题来了:假如我拿到600W账号+密码,一次遍历输入,很有可能就撞到一个匹配的账户,限制ip也不可靠,因为伪造ip实在太简单,那么该怎么解决这个问题呢?
如果每次都设置验证码,用户体验太差,验证码被机器识别也只是时间问题,不知道大家怎么解决的?

6.4更新:我其实一直想的是,如果可以拿到机器的唯一标识,类似mac地址的东西最好,这样就可以避免攻击者在一台机器上刷api,无论他不停换ip换账号都没用,可惜拿不到,于是就想问问大厂们是怎么解决的。

DIEA
浏览 958回答 5
5回答

米脂

可以对账号与常用ip绑定 新的ip 进行验证码验证 至于破解难度 就看你验证码的难度了 也此基础上加上频率限制

慕码人8056858

就是校验验证码,但不是每次都校验,只有登录错误次数超过一定限制(比如说3次),才会要求校验验证码。即保证了用户体验,也保证了系统安全。

繁星淼淼

拖动验证码的体验,还是不错的。淘宝或者阿里云上经常,能看到鼠标拖动的验证码
打开App,查看更多内容
随时随地看视频慕课网APP