gpt4 book ai didi

Django - UploadedFile.content_type 检查上传文件的标题还是仅检查扩展名?

转载 作者:行者123 更新时间:2023-12-02 05:26:29 27 4
gpt4 key购买 nike

我阅读了以下 django 文档

UploadedFile.content_type

The content-type header uploaded with thefile (e.g. text/plain or application/pdf). Like any data supplied bythe user, you shouldn’t trust that the uploaded file is actually thistype. You’ll still need to validate that the file contains the contentthat the content-type header claims – “trust but verify.”

然后在我的项目中尝试此操作,打印出上传的文件的内容类型

print request.FILES['file'].content_type

它将打印出文件的内容类型,例如文本/疼痛,图像/jpeg

但问题是:如果我欺骗了文件。例如,使用记事本删除image/jpeg文件的标题然后保存,打印仍然会打印'image/jpeg'。但是,由于 header 已被我删除,无法用图像查看器打开(尽管文件扩展名仍然是.jpg),因此不应将其识别为“image/jpeg”文件。

所以看来UploadedFile.content_type只是检查文件的扩展名,因此不是检查和验证文件类型的安全方法,需要其他一些方法来更好地解决检查问题。我这样说对吗,如有错误请指正。

非常感谢您的帮助。

最佳答案

它检查 header ,您应该依靠更强大的工具服务器端来确认实际内容,如下所示:

Django - Uploaded file type validation

关于Django - UploadedFile.content_type 检查上传文件的标题还是仅检查扩展名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17779108/

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