首页 > 如何防止接口被刷

如何防止接口被刷

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


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


来个12306版的验证码,,假定无视影响注册体验。


就简单的办法就是加一个token,加密解密过程。


手机验证码就能很好的解决这个问题,无他,看看常用的大型网站如何实现的就可以了,还有就是验证码


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


其实说这么多全都是废话,抱歉,本人无能力解决这个问题,哈哈


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


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

【热门文章】
【热门文章】