我从以下 django 文档中阅读
UploadedFile.content_type
随文件上传的内容类型标头(例如 text/plain 或 application/pdf)。与用户提供的任何数据一样,您不应相信上传的文件实际上就是这种类型。您仍然需要验证文件是否包含 content-type 标头声明的内容——“信任但验证”。</p>
然后在我的项目中通过打印上传的文件的内容类型来尝试这个
print request.FILES['file'].content_type
它会打印出文件的内容类型,例如 text/pain、image/jpeg
但问题是:如果我欺骗文件。例如,使用记事本删除图像/jpeg 文件的标题然后保存,打印仍然会打印“image/jpeg”。但是,由于标题已被我删除并且无法使用图像查看器打开(尽管文件的扩展名仍然是 .jpg),因此不应将其识别为“图像/jpeg”文件。
因此,UploadedFile.content_type 似乎只是检查文件的扩展名,因此不是检查和验证文件类型的安全方法,需要一些其他方法来更好地解决检查问题。我说的对吗,如果有任何误解,请纠正我。
非常感谢您的帮助。