我有一个网站,可以上传文档到服务器并将它们插入到MySQL表中。
在此过程中,服务器(通过PHP)检查文件类型以决定是拒绝还是保存文件。我通过发布以下代码来实现:
$_FILES ["file"] ["type"]
并确保其等于:
application/vnd.openxmlformats-officedocument.wordprocessingml.document
但是,在某些情况下,发布的文件类型似乎为:
application/octet-stream
这是因为客户端设备上没有安装MS Word吗?
如果是这种情况,是否验证application/octet-stream
是否为允许的文件类型是不安全的?因为根据我的理解它是通用MIME类型,这意味着任何文件类型,包括.exe
,都将被允许上传(无需说明这会造成什么问题)。
是否有其他方法可以验证.docx
文件的类型,即使没有安装MS Word?或者出现这种情况的原因是什么?我已经看到其他网站允许从没有安装此类软件的移动设备上传.docx
文件。
感谢您的帮助。