今天我在互联网上浏览如何使用php公式将文件上传到我的网络服务器,不知何故每个人只允许特定文件类型(并限制所有其他文件)。对于想要上传图片的人来说,看到该网页不包含该文件类型并不好。其他文件类型的问题是什么(例如,直接来自w3schools.com:只允许使用JPG,JPEG,PNG和GIF)。
提前谢谢,
VicStudio
答案 0 :(得分:2)
主要是出于安全原因。 $_FILES
中的所有内容都来自用户的浏览器,因此,如果您对接受的内容没有严格的验证,恶意用户可以上传
.php
文件上传到您的服务器会怎么样?游戏结束。../../../file.txt
会怎么样?保存文件时,由于路径中的../..
,它可能最终位于不同的目录中。这称为Path Traversal漏洞。处理文件上传时,您应该针对白名单验证所有这三项内容。也就是说,有一个你接受的列表或值范围,并丢弃任何不符合这些标准的值。
答案 1 :(得分:1)
假设您要上传个人资料图片,并且用户正在尝试上传doc文件。 反之亦然。然后,文件格式限制可能对您的表单有利,以保证您的安全。