我最近发现你可以通过在文件名中添加斜杠来伪造S3上的目录结构。这让我想到:对象ID是否有任何限制?我敢肯定必须有一些。长度?空字符(\ 0)?像无效的UTF-8字符之类的奥术?
我确信必须有一些限制,但我似乎无法在文档中找到它们。
答案 0 :(得分:21)
密钥是一系列Unicode UTF-8编码所在的字符 大多数1024字节。
存储桶名称为additional restrictions:
我们建议所有存储桶名称都符合DNS命名约定。
符合DNS的存储桶名称的规则是:
- 存储桶名称长度必须至少为3且不超过63个字符。
- 存储桶名称必须是一系列一个或多个标签。相邻标签由单个句点(。)分隔。存储桶名称可以包含小写字母,数字和连字符。每个标签必须以小写字母或数字开头和结尾。
- 不得将存储桶名称格式化为IP地址(例如,192.168.5.4)。
目前,美国标准区域并未强制执行符合DNS标准的名称,但亚马逊正朝着这一目标迈进。