gpt4 book ai didi

php - Amazon S3 为每个对象创建唯一键

转载 作者:可可西里 更新时间:2023-11-01 12:38:18 25 4
gpt4 key购买 nike

我的应用用户将他们的文件上传到一个存储桶。如何确保我的 S3 存储桶中的每个对象都有一个唯一的 key 以防止对象被覆盖?

目前我在将文件发送到 S3 之前在我的 php 脚本中使用随机字符串加密文件名。

为了便于讨论,我们假设上传者找到了一种在上传时操纵文件名的方法。他想用 banana 的图片替换我网站上的所有图片。 .如果加密失败,防止覆盖 S3 中的文件的好方法是什么?

编辑:我认为版本控制不起作用,因为在显示存储桶中的图像时我无法在图像 URL 中指定版本 ID。

最佳答案

您是在加密还是散列?如果您使用的是 md5 或 sha1 哈希,攻击者很容易发现哈希冲突并让您跌倒在香蕉皮上。如果您在没有随机初始化向量的情况下进行加密,攻击者可能会在上传数百个文件后推断出您的 key ,而加密可能不是最好的方法。它的计算成本很高,难以实现,而且您可以用更少的努力为这项工作获得更安全的机制。

如果您在每个文件名前加上一个随机字符串,使用相当可靠的熵源,您应该不会有任何问题,但您应该检查该文件是否已经存在。虽然使用 S3::GetObject 编写一个循环来检查并生成一个新的随机字符串对于几乎永远不需要运行的东西来说似乎需要付出很多努力,但“几乎从不”意味着它已经最终发生的可能性很高。

关于php - Amazon S3 为每个对象创建唯一键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12657954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com