根据个人一些经验,在php处理文件上传时,经常可以用到下面几种方式来判断文件的类型
- 通过文件名后缀,不安全,非常容易欺骗
- 通过mime判断,部分类型的文件通过修改文件后缀名,也可以被欺骗服务器
- 通过头字节判断文件类型,但是判断范围有限,比如docx/xlsx等新的文档,通过头信息判断时,其实是一个zip包。
请问,是否有其他方式来更加合理安全的获取文件类型呢?
根据个人一些经验,在php处理文件上传时,经常可以用到下面几种方式来判断文件的类型
请问,是否有其他方式来更加合理安全的获取文件类型呢?
4 回答13.8k 阅读✓ 已解决
5 回答8.2k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
3 回答664 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
1 回答972 阅读✓ 已解决
我认为题主的需求应该是如何保证文件上传的安全性。
首先,应该要对文件类型和大小做一定的硬性规定。此外,个人认为
mime
类型判断已经比较安全了,如果题主还是不放心,可以通过读取文件头来判断真实类型。方法可以参考这个案例:
看到题主提问中的内容,我认为正如题主所说的三种方法,安全级数依次增强,如果逐层做到这三点,我认为安全性应该是有保障的。