PHP:$ _FILES - 我为什么要限制特定的文件类型?

时间:2017-07-08 15:26:33

标签: php file types restriction

今天我在互联网上浏览如何使用php公式将文件上传到我的网络服务器,不知何故每个人只允许特定文件类型(并限制所有其他文件)。对于想要上传图片的人来说,看到该网页不包含该文件类型并不好。其他文件类型的问题是什么(例如,直接来自w3schools.com:只允许使用JPG,JPEG,PNG和GIF)。
提前谢谢,
VicStudio

2 个答案:

答案 0 :(得分:2)

主要是出于安全原因$_FILES中的所有内容都来自用户的浏览器,因此,如果您对接受的内容没有严格的验证,恶意用户可以上传

的文件
  • 太大 - 如果有人上传了10 GB的图片怎么办?
  • 有危险的文件类型 - 如果有人将.php文件上传到您的服务器会怎么样?游戏结束。
  • 名称无效 - 如果有人将文件名设置为../../../file.txt会怎么样?保存文件时,由于路径中的../..,它可能最终位于不同的目录中。这称为Path Traversal漏洞。

处理文件上传时,您应该针对白名单验证所有这三项内容。也就是说,有一个你接受的列表或值范围,并丢弃任何不符合这些标准的值。

答案 1 :(得分:1)

假设您要上传个人资料图片,并且用户正在尝试上传doc文件。 反之亦然。然后,文件格式限制可能对您的表单有利,以保证您的安全。