比如:一个注册页面,如何防止别人调用接口直接注册很多个用户。
我想到的有
1.注册的时候,需要手机验证码
2.IP次数限制,具体设置多少合适
3....
首先你的目的是防止注册接口被刷而导致被注册大量无用的账号,这个问题可以通过提高注册门槛的方式来解决,如你提到的使用手机验证码,但是注册门槛提高必然会导致注册率降低,这是需要取舍的。
其他技术方面的如果只是想简单的起到一个过滤作用那么IP限制也是可以的,但是你需要知道的是Http协议中的IP除了remoteAddress是不可伪造之后,其他的如X-Forwarded-For等都是可以直接伪造的。
再者一个最简单的方法就是验证码,这是个非常高效的方法,当然也并非绝对可用。
其实你要解决的问题只有一个:如何唯一标识一个客户端,在Http协议下是很难做到的。如果解决不了这个问题就尝试着解决另一个问题:如何增加程序调用接口的复杂度,如在调用接口之前增加一些token的获取,增加接口调用的流程等等。
其实说这么多全都是废话,抱歉,本人无能力解决这个问题,哈哈
4 回答1.3k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
1 回答2.5k 阅读✓ 已解决
2 回答718 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.7k 阅读
2 回答1.3k 阅读
目前比较流行的应该是手机验证吧。
或者就是同一台MAC地址过来的注册请求,在一段时间内可以认为是恶意注册将请求过滤掉。