关注本站公众号,
获取永久访问授权码
扫码关注,回复『刷题』即可
~技术问答题~
返 回

No.827 接口如何防刷

题目描述~ 略...

寄语:问题比答案更重要

建议自己先有个思考的过程,有了自己的答案或者疑问再看解析进行对比。

目前解析在逐步添加中,也可以跳转链接查看。

解答1

1:网关控制流量洪峰,对在一个时间段内出现流量异常,可以拒绝请求(参考个人博客文章 https://mp.csdn.net/postedit/81672222)

2:源ip请求个数限制。对请求来源的ip请求个数做限制

3:http请求头信息校验;(例如host,User-Agent,Referer)

4:对用户唯一身份uid进行限制和校验。例如基本的长度,组合方式,甚至有效性进行判断。或者uid具有一定的时效性 5:前后端协议采用二进制方式进行交互或者协议采用签名机制 6:人机验证,验证码,短信验证码,滑动图片形式,12306形式

原文链接:https://blog.csdn.net/timy07/article/details/86467994

解答2

刷是禁止不了的,只能提高刷的成本

前端:

限制按钮,表单提交次数,防抖 增加图片验证码,类似12306 后端:

ip,user_agent,referer 用户唯一标示 简单验证码 手机号验证码 api key,rsa加密认证,ca认证(后端与后端之间调用) ip黑名单(一般是刷的频率太大,达到ddos水平了或者确认为恶意调用)

详解: https://github.com/Advanced-Frontend/Daily-Interview-Question/issues/254

解析或答案仅供参考。

关于作者

zz_jesse 专注前端

掘金 我的开源项目

公众号@前端技术江湖

一个可以帮开发者成长的公众号前端面试题库更新通知前端学习资料、干货文章

技术交流群

交流中成长大厂内推机会