java - 如何防止接口被刷
迷茫
迷茫 2017-04-17 17:05:45
[Java讨论组]
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(7)
ringa_lee

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

巴扎黑

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

伊谢尔伦

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

黄舟

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


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

迷茫

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

ringa_lee

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

伊谢尔伦

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号