您的位置 首页 php

一个好的“文件上传”功能必须要注意的这些点你都知道吗?

  1. 检查上传文件扩展名白名单,不属于白名单内,不允许上传;【前端和后端都要做好校验】
  2. 上传文件的目录必须是http请求无法直接访问到的。如果需要访问的,必须上传到其他(和web服务器不同的)域名下,并设置该目录为不解析jsp等脚本语言的目录;【任意文件上传漏洞主要是由于程序员在开发文件上传功能时,没有考虑对文件格式后缀的合法性进行校验或只考虑在应用前端(Web浏览器端)通过javascript进行后缀校验,攻击者可上传一个包含恶意代码的动态脚本(如jsp、asp、php、aspx文件后缀)到服务器上,攻击者访问该脚本时服务器将对包含恶意代码的动态脚本解析,最终执行相应的恶意代码。该漏洞最终将可能直接影响应用系统的服务器安全,攻击者可通过所上传的脚本完全控制服务器。】
  3. 上传文件要保存的文件名和目录名由系统根据时间生成,不允许用户自定义;【为防止文件覆盖的现象发生,要为上传文件产生一个唯一的文件名】
  4. 图片上传,要通过处理(缩略图、水印等),无异常后才能保存到服务器;
  5. 上传文件的中文乱码;
  6. 要限制上传文件的最大值【最小值也要注意,至少不能上传空文件;客户端进行大小判断和类型判断后,服务器端仍然需要判断】;
  7. 上传过大文件时考虑是否需要根据文件大小切割拆分小文件、压缩等;
  8. 服务器端存储文件,根据预期文件数据规模,最好先定好子目录拆分规则,将文件散列到多个(甚至多级)子目录中;
  9. 上传到服务器后端的文件,注意设置定期清理或迁移至其他磁盘上;【防止无效文件堆积或过多过大文件导致磁盘不足】
  10. 上传文件空间大小的验证,即如果上传的文件储存的空间不足时,上传文件时系统应感知合理处理;
  11. 上传过程中前端能够实时显示上传进度是一个友好的用户体验;【尤其是带宽速率较低的情况下】
  12. 页面支持文件拖拽上传是一个友好的用户体验;

记得关注我,我会持续为大家分享更多精彩内容。ヾ(@^▽^@)ノ

文章来源:智云一二三科技

文章标题:一个好的“文件上传”功能必须要注意的这些点你都知道吗?

文章地址:https://www.zhihuclub.com/150533.shtml

关于作者: 智云科技

热门文章

网站地图