`
javafine
  • 浏览: 6831 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

nginx 防刷

 
阅读更多

转自:http://blog.csdn.net/force_eagle/article/details/9160697

 

WIKI:

http://wiki.nginx.org/HttpLimitReqModule

漏桶原理(leaky bucket):

http://en.wikipedia.org/wiki/Leaky_bucket

实例:

#以用户二进制IP地址,定义三个漏桶,滴落速率1-3req/sec,桶空间1m,1M能保持大约16000个(IP)状态
limit_req_zone  $binary_remote_addr  zone=qps1:1m   rate=1r/s;
limit_req_zone  $binary_remote_addr  zone=qps2:1m   rate=2r/s;
limit_req_zone  $binary_remote_addr  zone=qps3:1m   rate=3r/s;

server {

#速率qps=1,峰值burst=5,延迟请求
#严格按照漏桶速率qps=1处理每秒请求
#在峰值burst=5以内的并发请求,会被挂起,延迟处理
#超出请求数限制则直接返回503
#客户端只要控制并发在峰值[burst]内,就不会触发limit_req_error_log
# 例1:发起一个并发请求=6,拒绝1个,处理1个,进入延迟队列4个:
#time    request    refuse    sucess    delay
#00:01        6        1        1            4
#00:02        0        0        1            3
#00:03        0        0        1            2
#00:04        0        0        1            1
#00:05        0        0        1            0
location /delay {
    limit_req   zone=qps1  burst=5;
}

#速率qps=1,峰值burst=5,不延迟请求
#加了nodelay之后,漏桶控制一段时长内的平均qps = 漏桶速率,允许瞬时的峰值qps > 漏桶qps
#所以峰值时的最高qps=(brust+qps-1)=5
#请求不会被delay,要么处理,要么直接返回503
#客户端需要控制qps每秒请求数,才不会触发limit_req_error_log
# 例2:每隔5秒发起一次达到峰值的并发请求,由于时间段内平均qps=1 所以仍然符合漏桶速率:
#time    request     refuse    sucess
#00:01         5         0          5
#00:05         5         0          5
#00:10         5         0          5
# 例3:连续每秒发起并发请求=5,由于时间段内平均qps>>1,超出的请求被拒绝:
#time    request     refuse     sucess
#00:01         5         0           5
#00:02         5         4           1
#00:03         5         4           1

location /nodelay {
    limit_req   zone=qps1  burst=5 nodelay;
}

}
分享到:
评论

相关推荐

    nginx限流配置.docx

    Nginx 限流配置 Nginx 限流配置是指通过 Nginx 服务器对用户的访问进行限制,以避免服务器受到攻击或过载。这种配置可以防止恶意用户对服务器的攻击,保护服务器的安全和性能。 限流配置 在 Nginx 配置文件中,...

    Nginx企业级高性能通用配置文件-注释版-支持防刷限流、控并发、HTTP2、防XSS、OCSP Stapling、负载、SSL

    依赖模块: configure arguments: --prefix=/usr/local/nginx --with-...

    php获取用户真实IP和防刷机制的实例代码

    3. 防刷机制的实现:防刷机制通常用于防止恶意用户或脚本进行大量重复请求,导致服务器资源浪费或服务不可用。在PHP中实现防刷机制,通常可以: - 限制请求频率:例如,通过记录用户的请求时间和IP地址,限制同一...

    Nginx、Eureka、Feign(Ribbon、Hystrix)、Gateway、Config+bus实现简单的登录注册

    内容概要:使用简单的登录注册功能串联起验证码的生成与发送、邮件发送、IP防爆刷、用户统一认证等功能,实现所涉及到的技术全部基于SpringCloud微服务架构: Nginx、Eureka、Feign(Ribbon、Hystrix)、Gateway、...

    刷网课爱学习系统源码.zip

    "刷网课爱学习系统源码.zip"是一个包含有源代码的压缩文件,主要用于构建一个在线学习或自动刷网课的平台。从描述中我们可以提取出几个关键的技术知识点: 1. **数据库管理**:文件"cofing/cofing.php"涉及到数据库...

    基于PHP给大家讲解防刷票的一些技巧

    在本篇关于PHP防刷票技术的文章中,主要讨论了通过人为增加逻辑限制来防止刷票行为的多种策略,下面我将对这些策略进行详细介绍。 首先,文章提到了使用CURL进行信息伪造,这种方法是利用CURL库构造HTTP请求头,...

    最新抖音快手防红短链在线生成系统源码+带免签支付【站长亲测】

    【标题】:“最新抖音快手防红短链在线生成系统源码+带免签支付”指的是一个专门为抖音和快手等短视频平台设计的防红短链接生成系统。防红短链是为了解决在这些社交平台上分享长链接可能导致的链接被屏蔽或无法点击...

    soft_鱼羊防采集v2.0正式版.zip.zip

    5. **API防护**:如果网站使用了API接口,软件可能提供API防刷功能,限制非法调用。 6. **实时更新**:为了对抗不断升级的采集工具,软件应具有实时更新规则和策略的能力。 7. **日志记录与分析**:输出.txt文件...

    【spring-boot-seckill分布式秒杀系统 v1.0】从0到1构建的java秒杀系统源码+安装说明

    2、限流、限流、限流,毕竟秒杀商品有限,防刷的前提下没有绝对的公平,根据每个服务的负载能力,设定流量极限。 3、缓存、缓存、缓存、尽量不要让大量请求穿透到DB层,活动开始前商品信息可以推送至分布式缓存。 4...

    自动阅读橙色UI赚积分系统.zip

    - **安全措施**:由于涉及到用户积分,需要有防止恶意刷积分的机制,例如设置阅读速率限制,监测异常行为。 - **性能优化**:对于大量用户同时在线阅读,可能需要优化数据库查询,使用缓存策略,负载均衡等手段提升...

    秒杀代码_1678692596.zip

    为了防止黄牛等恶意用户利用自动化工具进行抢购,系统需要设置防刷机制,如IP限制、验证码、用户行为分析等,确保公平性。 在代码实现上,常见的编程语言有Java、Python、Go等,可能会使用到的技术栈包括Spring ...

    PHP实例开发源码——PHP悬赏猫悬赏兔赏金赚每日任务刷单平台源码.zip

    该压缩包文件“PHP实例开发源码——PHP悬赏猫悬赏兔赏金赚每日任务刷单平台源码.zip”包含了一个基于PHP语言构建的悬赏任务平台的完整源代码。这种类型的平台通常用于在线任务发布,用户可以完成任务来赚取赏金,...

    一个boot2写的秒杀

    5. **安全防护**:防止恶意刷单,可以通过验证码、IP限制、用户行为分析等手段进行防护。 以上就是基于Spring Boot、MyBatis、Nginx构建的秒杀系统的主要知识点,每个组件都在系统中扮演着重要的角色,共同实现了...

    打造互联网企业全能型WAF.pptx

    - 83%的安全事件源于应用安全和业务安全,如刷接口、恶意扫描、漏洞探测、撞库攻击、高频爬虫、积分盗刷等问题。 - 安全监控系统显示,大部分攻击集中在应用或业务层面,需要实时预警和应对。 2. **传统解决方案...

    核心交易系统高可用架构设计.pptx

    防刷保护主要通过nginx层和app层的策略,限制异常高频访问,结合风控数据进行拦截。 异步化处理是提高系统抗压能力的关键。页面异步化可以减轻后端压力,如购物车和结算页的拆分;写请求的异步化,如结算页写订单...

    基于SpringMVC实现的秒杀系统.zip

    5. **防刷策略** - **IP限制**: 通过记录和限制每个IP的请求次数,防止机器刷单。 - **验证码验证**: 对频繁请求的用户显示验证码,增加刷单难度。 - **用户行为分析**: 利用风控系统分析异常请求,及时发现并...

    打造互联网企业全能型WAF.pdf

    据统计,近一年内,有83%的安全事件直接与应用安全和业务安全有关,其中包括刷接口、刷点评、积分盗刷、撞库攻击和高频爬虫等。这些攻击往往通过实时日志的关联分析在安全监控系统中被发现,但由于缺乏有效整合,...

    秒杀项目代码,秒刀房代码,Java源码.zip

    4. **防刷策略**:为了防止恶意用户利用机器人抢购,秒杀系统通常会设置防刷机制,如限制每个用户参与次数、使用验证码等。这可以通过Java的IP地址库、Session管理等技术实现。 5. **分布式设计**:大型秒杀系统...

    飞猫云影视系统源码修复版5.2.3 带支付+代理功能

    确保支付安全性和用户体验是关键,通常会采用HTTPS加密传输、防刷机制等技术来保护用户资金安全。 3. **代理功能** 代理功能意味着飞猫云影视系统支持多级分销或代理模式,允许用户成为平台的代理,推广系统并从中...

Global site tag (gtag.js) - Google Analytics