【发布时间】: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