如何防止接口被刷

比如:一个注册页面,如何防止别人调用接口直接注册很多个用户。
我想到的有
1.注册的时候,需要手机验证码
2.IP次数限制,具体设置多少合适
3....

慕后森
浏览 1064回答 6
6回答

慕田峪7331174

目前比较流行的应该是手机验证吧。或者就是同一台MAC地址过来的注册请求,在一段时间内可以认为是恶意注册将请求过滤掉。

BIG阳

手机验证码,针对ip/cookie做限流,校验csrfToken,重要接口加签验签。其他还可以做例如注册量监控,用户行为监控等等

绝地无双

首先你的目的是防止注册接口被刷而导致被注册大量无用的账号,这个问题可以通过提高注册门槛的方式来解决,如你提到的使用手机验证码,但是注册门槛提高必然会导致注册率降低,这是需要取舍的。其他技术方面的如果只是想简单的起到一个过滤作用那么IP限制也是可以的,但是你需要知道的是Http协议中的IP除了remoteAddress是不可伪造之后,其他的如X-Forwarded-For等都是可以直接伪造的。再者一个最简单的方法就是验证码,这是个非常高效的方法,当然也并非绝对可用。其实你要解决的问题只有一个:如何唯一标识一个客户端,在Http协议下是很难做到的。如果解决不了这个问题就尝试着解决另一个问题:如何增加程序调用接口的复杂度,如在调用接口之前增加一些token的获取,增加接口调用的流程等等。其实说这么多全都是废话,抱歉,本人无能力解决这个问题,哈哈

米琪卡哇伊

判断refer验证码手机号注册短信验证一段时间内针对IP做限制

qq_笑_17

手机验证码就能很好的解决这个问题,无他,看看常用的大型网站如何实现的就可以了,还有就是验证码
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java