在 PHP 网站上,他们建议的唯一真正的检查是在此处is_uploaded_file()
使用or 。当然,出于各种原因,您通常不希望用户上传任何类型的文件。move_uploaded_file()
正因为如此,我经常使用一些“严格”的 mime 类型检查。当然这是非常有缺陷的,因为通常 mime 类型是错误的,用户无法上传他们的文件。它也很容易伪造和/或更改。除此之外,每个浏览器和操作系统都以不同的方式处理它们。
另一种方法是检查扩展名,这当然比 mime 类型更容易更改。
如果你只想要图像,使用类似的东西getimagesize()
就可以了。
其他类型的文件呢?PDF、Word 文档或 Excel 文件?甚至是纯文本文件?
编辑:如果您没有mime_content_type或Fileinfo并且 system("file -bi $uploadedfile") 给您错误的文件类型,还有哪些其他选项?