php 绑定 mime,PHP-如何使用MIME验证文件?

我想使用php验证服务器中的文件类型.现在,我已经通过检查文件的文件扩展名类型对其进行了验证.这可以正常工作,但是问题在于,这不是验证用户身份的最佳方法,因为更改使用户可以将文本文件转换为jpeg,并且仍然可以上传.

因此,我想做的是添加另一种验证方法,我还想使用php检查文件的MIME类型,以识别文件是图像,视频还是音频.

所以我的问题是如何编码,以便可以在php中使用MIME类型来验证文件?另外,如果我的文件很大,是否需要很长时间才能进行MIME验证,还是立即进行验证?

下面是我目前仅在使用php代码检查文件类型的情况下对Image的代码:

if ((($_FILES["file"]["type"] == "image/gif")

|| ($_FILES["file"]["type"] == "image/jpeg")

|| ($_FILES["file"]["type"] == "image/pjpeg"))

{

if ($_FILES["file"]["error"] > 0)

{

echo "Error: " . $_FILES["file"]["error"] . "
";

}

else

{

echo "Upload: " . $_FILES["file"]["name"] . "
";

echo "Type: " . $_FILES["file"]["type"] . "
";

}

}

else

{

echo "Invalid file";

}

?>

解决方法:

MIME类型查找通常非常快,在PHP中,您可以使用finfo扩展名进行查找.例:

$finfo = finfo_open(FILEINFO_MIME_TYPE);

$mimetype = finfo_file($finfo, '/path/to/file.jpg'); // image/jpeg

finfo_close($finfo);

同样,您不应该依赖$_FILES超全局变量的类型索引,因为该值可能被欺骗,攻击者可能想要的任何东西.当然,文件扩展名也一样.

标签:ajax,javascript,php,jquery

来源: https://codeday.me/bug/20191201/2079880.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值