对象存储怎么通过策略限制对象存储桶的单文件最大上传体积

星墨吖_2814

星墨吖_2814

2026-11-14

715人浏览

原创

对象存储本身不直接提供全局桶级单文件大小限制开关,但可通过服务端生成的Post Policy在表单上传中嵌入content-length-range条件(如["content-length-range", 1024, 5242880])实现强校验,仅对PostObject有效,需配合签名与合理过期时间。

对象存储怎么通过策略限制对象存储桶的单文件最大上传体积

对象存储本身不直接提供全局桶级的单文件大小限制开关,但可以通过服务端生成的上传策略(Policy)在客户端上传环节实现精准控制。核心思路是:**把大小限制“嵌入”到临时授权凭证中,由服务端签发、客户端执行、OSS/COS 在接收时校验**。

用 Post Policy 限制单文件上传体积

这是最常用且标准的做法,适用于 HTML 表单上传(PostObject)场景。服务端生成包含 content-length-range 条件的签名策略,客户端按此策略提交请求,OSS 会在接收时强制校验文件实际大小是否落在指定区间内。

  • 策略中添加条件:["content-length-range", 最小字节数, 最大字节数]
  • 例如限制单文件为 1 KB 到 5 MB:["content-length-range", 1024, 5242880]
  • 该条件必须放在 Policy 的 conditions 数组中,且需与其他字段(如 bucket、key 前缀、过期时间等)一同签名
  • 上传时若文件超出范围,OSS 直接返回 400 Bad Request,错误码可能是 EntityTooLarge 或 InvalidPolicyDocument

策略生效的前提和注意事项

这个限制只对使用 PostObject 方式上传有效,不适用于 PUT Object、分片上传(MultipartUpload)、SDK 直传等其他方式。也就是说,它是一种“前端拦截+服务端强校验”的组合机制,依赖于服务端正确构造 Policy 并安全下发。

  • 服务端必须使用合法 AccessKey 对 Policy 进行签名,客户端无法篡改
  • Policy 中的 expiration 时间不宜过长,建议控制在 15–60 分钟内,防止凭证泄露滥用
  • 不能单独靠前端 JS 检查文件大小,因为可被绕过;Policy 校验才是真正可靠的防线
  • 若需统一限制所有上传方式(包括 SDK 和命令行工具),需在业务层做网关拦截或使用函数计算(FC)做上传代理并做前置校验

其他补充控制方式

如果业务场景不局限于表单上传,还可结合以下手段增强管控:

  • API/SDK 层拦截:在调用 PutObject 或 InitiateMultipartUpload 前,由后端服务检查文件元信息或预检大小,拒绝超限请求
  • OSS 回调(Callback)验证:上传完成后触发回调到业务服务器,校验已上传对象的实际 size,异常则自动删除并告警
  • 桶策略(Bucket Policy)或 RAM 策略:虽不能按文件大小限制,但可配合条件键(如 aws:ContentLengthRange)在部分云厂商中实现类似效果(需确认当前云平台是否支持)
PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
轻量应用服务器和云服务器的区别
轻量应用服务器和云服务器的区别

随着科技的快速发展,越来越多的企业和个人开始依赖于服务器来托管其应用程序和网站。然而,在选择服务器时,很多人对轻量应用服务器和云服务器之间的差异不够了解。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.27

582

3

注册云服务器的作用
注册云服务器的作用

注册云服务器的作用:1、可放置公司网站、电子商务平台、APP和其他应用程序等;2、使用云服务器来存储和共享数据,不仅高度安全,而且可以随时随地在线访问;3、当内存不够时,站长可自行增加,使资源充沛,保障了页面加载速度和优质的用户体验。想了解更多云服务器的相关内容,可以阅读本专题下面的文章。

2024.03.13

3924

9

云服务器的全部用途
云服务器的全部用途

云服务器的用途广泛,包括网站托管、应用程序部署、数据存储和备份、虚拟化和容器化、大数据处理、游戏服务器以及开发测试环境等。想了解更多云服务器的相关内容,可以阅读本专题下面的文章。

2024.03.21

14919

12

云服务器价格性价比高的服务商介绍
云服务器价格性价比高的服务商介绍

性价比较高的云服务器服务商,包括阿里云、腾讯云、亚马逊AWS和华为云。这些服务商提供丰富的产品线、亲民的价格、完善的生态体系和技术支持。想了解更多云服务器的相关内容,可以阅读本专题下面的文章。

2024.03.21

3887

9

云服务器的使用教程
云服务器的使用教程

使用云服务器需要遵循以下步骤:选择可靠的云服务提供商,注册账号并购买所需实例,配置安全组和网络,连接到服务器,配置服务器环境,定期管理和监控服务器,优化性能和成本。想了解更多云服务器的相关内容,可以阅读本专题下面的文章。

2024.03.21

6037

10

云服务器作用介绍
云服务器作用介绍

云服务器作为云计算的关键组成部分,广泛应用于弹性计算、数据存储处理、应用程序部署托管、灾备容灾、开发测试环境、虚拟化容器化等领域。想了解更多云服务器的相关内容,可以阅读本专题下面的文章。

2024.03.21

1745

12

云服务器是什么
云服务器是什么

云服务器是一种在云计算环境中提供的虚拟服务器,它具有弹性、可扩展性和按需付费等特点。想了解更多云服务器的相关内容,可以阅读本专题下面的文章。

2024.06.21

12356

7

Go-Zero API开发使用教程
Go-Zero API开发使用教程

本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。

2026.11.12

20

15

Go-Zero安装与goctl环境配置教程
Go-Zero安装与goctl环境配置教程

本专题围绕Go-Zero的安装与工具链配置展开,讲清Go版本要求、goctl安装方式、代理镜像、protoc依赖与环境变量设置,说明多版本共存、升级回退与CI流水线安装的做法,并整理安装阶段的常见报错与验证步骤。

2026.11.12

0

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.3万人学习