gpt4 book ai didi

php - 好奇 - 使用通用文件扩展名(例如 .tmp)保存用户上传的图像的优点和缺点?

转载 作者:行者123 更新时间:2023-11-29 06:36:03 28 4
gpt4 key购买 nike

因此,当用户上传图像时,我将图像信息(例如新名称、原始名称、大小和 mime 类型)保存在 mysql 数据库表中,并将图像存储在文件系统中,并且对图像进行重命名(唯一)具有通用文件扩展名(.tmp)。例如 -

nice_pic.jpg(用户上传)-> 0c14549a484.tmp(在服务器文件系统中)。现在,当我需要在 DOM 中添加图像时,我只需使用数据库中的原始扩展名再次重命名图像例如 - 0c14549a484.tmp -> 0c14549a484.jpg

有人告诉我这有安全优势。但不确定这种命名-重命名过程是否值得带来这些优势?想知道并解释一下。

最佳答案

缺点:在我看来,这增加了很多额外的开销来保存数据,并且还增加了哈希的长度(您无法使用较短的文件名保存尽可能多的文件。

关于执行,如果您允许在服务器上运行上传的文件,您应该已经考虑使用沙盒执行环境(即 Docker)来运行文件。无论文件扩展名如何,在 99.99% 的情况下,允许外部文件修改系统环境都是一个巨大的安全缺陷。

此外,如果您正在运行包含数千张照片的 Google Drive 等内容,则此处理会损失计算时间(尽管微不足道)。

我想不出这种方法有什么值得注意的优点,所以我的建议是坚持使用行业标准方法进行文件处理。

关于php - 好奇 - 使用通用文件扩展名(例如 .tmp)保存用户上传的图像的优点和缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53814120/

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