【问题标题】:Check the uploaded file content is purely of that content type检查上传的文件内容是否纯粹属于该内容类型
【发布时间】:2016-10-13 05:30:47
【问题描述】:

如果我将 jpg 标头(jpg 文件的第一行)放在 HTML 文件中并以 jpg 扩展名保存,那么我可以绕过 MIME 类型检查。 例如:

ÿØÿà JFIF   d d  ÿì Ducky     <  ÿî Adobe dÀ   ÿÛ „    

    
hyuhjjh

<script>
alert(hello);
</script>

如果我将上面的代码保存为 JPG 文件,那么它可以绕过 MIME 类型检查。

echo mime_content_type('x.html.jpg'); //shows 'image/jpeg'

我希望脚本检查上传的文件内容是否纯粹属于该内容类型(jpg/png 或 pdf 或 3gp/mov)。适用于图片、文档和视频类型。

OR 不包含任何脚本。


实际上我需要它用于 Drupal。所以我必须使用自定义 PHP 代码。 在 Drupal 7.50 中我使用了“文件上传安全验证器”来验证上传文件的 MIME 类型,但对于上述类型的情况它是无用的。

【问题讨论】:

    标签: php file-upload drupal drupal-7 php-5.3


    【解决方案1】:

    您需要使用一些库来实际加载文件。对于图像,我使用 GD 打开目标图像并检查它是否返回了合理的高度和宽度。

    其他类型也可以这样做。我想对于视频文件来说,这可能会占用大量资源,但这是唯一确定的方法。

    【讨论】:

      猜你喜欢
      • 2011-08-11
      • 1970-01-01
      • 1970-01-01
      • 2012-01-19
      • 1970-01-01
      • 2016-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多