小编Ale*_*lex的帖子

PHP图像上传安全方法

我开发了一个PHP脚本来替换当前的脚本,这将有很多曝光于各个市场/国家.其他人之间的脚本提供照片上传功能.

经过大量关于这个问题的阅读,我按照下面描述的方法.我非常感谢您对其安全性的评论.

  1. 照片将上传到Web根目录外的私有777文件夹中.
  2. 执行对白名单扩展的检查(仅允许jpgs,gif,png),其他所有内容都将被删除.
  3. 使用getimagesize检查最小 - 最大尺寸和照片有效性.
  4. 检查mimetype和文件扩展名匹配.
  5. 将上传的照片大小调整为标准尺寸(使用imagecopyresampled).
  6. 将创建的文件保存为jpg.
  7. 删除原始文件.
  8. 使用新的(非随机名称)即img51244.jpg保存照片.
  9. 根据不可预测的算法将新照片移动到公用文件夹的变量子目录(777权限).即,img10000.jpg将储存在photos/a/f/0/img10000.jpg同时img10001.jpg将储存在photos/0/9/3/img10001.jpg.这是出于其他原因(使用子域进行静态内容服务或使用CDN).

该脚本将在Linux专用服务器上运行.

php security file-upload

12
推荐指数
1
解决办法
1620
查看次数

标签 统计

file-upload ×1

php ×1

security ×1