php - 是否需要对 PHP 图像上传进行防病毒检查?

标签 php image .htaccess security upload

<分区>

是否需要用PHP扫描用户通过html表单上传的图片?

以下安全措施是否足够:

  • 检查文件的 MIME/getimagesize()
  • 未使用原始文件名
  • 图像已调整大小 - 未存储原始图像
  • htaccess 禁止执行任何非 JPEG/PNG 的内容

是否需要用杀毒软件扫描用户的文件?我怎样才能用 PHP 做到这一点?

我正在使用 Ubuntu 14.04 LTS

最佳答案

为什么使用防病毒软件会有用:

图像在技术上有可能利用系统中的漏洞,不仅仅是作为元数据,而是以不同的方式,具体取决于打开图像的软件。

例如,第一个 PSP 漏洞是由于图像查看器解析 TIFF 图像 (http://www.makeuseof.com/tag/how-to-downgrade-your-psp-and-upgrade-to-a-custom-firmware-part-one/#2.00) 的方式造成的。

尽管可能不太可能,库中可能存在错误/漏洞/后门来调整图像大小,因此如果您想走极其谨慎的路线,顺序为:

  1. 将图像交给杀毒软件
  2. 以任何方式处理/存储图像。

您可以使用提供 PHP - 防病毒集成的库,例如:http://sourceforge.net/projects/php-clamav/ (但请记住,如果在将文件交给 AV 时请求排队很长时间,也可能会发生 DoS;安全性通常涉及权衡!)。

注意:让你的库包保持最新比 AV 更有效,因为在修改原始图像之后,任何漏洞利用都可能被破坏/丢失。

关于php - 是否需要对 PHP 图像上传进行防病毒检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27387498/

相关文章:

php - 欺骗数据库查询以接受替代值

wordpress - 使用 htaccess 的 http 到 https 留下没有下拉菜单的站点菜单

.htaccess - 使用 htaccess 禁用除一个文件夹之外的所有目录列表?

html - 图片不尊重我给它的类(class)

android - 在类似于 Facebook 时间线的回收站 View 中显示图像

php - .htaccess 重定向问题

php - Magento 1.4 Catalog_eav_attribute - 添加了自定义列但值未保存

php - MVC ajax 调用 - 在哪里处理它们?

php - 从 html 表单发布到 onesignal php Api?

c - .bmp 图像比较显示 image.bmp 上的 EOF