PHP-检查文件扩展名以及确定真实文件类型的最佳方法是什么?

用户名

我想知道$_FILES["file"]["type"]之间的区别end(explode(".", $name),以及确定检索到的文件类型是否确实是文件正确内容的适当方法。

例如,对名为“ image.exe”并重命名为“ image.jpg”的文件进行排序的最佳方法是什么。

我已经看到了很多有关MIME类型的讨论,但似乎该方法已被弃用。

阿比贝克特

这是读取扩展名的正确方法:

$ext = pathinfo($name, PATHINFO_EXTENSION);

检查图像是否正确的正确方法是尝试使用图像工具(例如imagemagickGD)读取图像GD更容易,但是imagemagick更好地处理大图像,例如从12百万像素相机上传的大图像。

如果您担心jpg确实是exe文件,则安全处理它的唯一方法是将其读取为jpg并尝试创建一个新的jpg(通常同时调整其大小)。Gmail通过图片附件来实现。

还要注意,真正的jpeg可能有某种利用方式,因此,即使它是图像,将其传递给用户也不是安全的。您确实应该调整它的大小以创建一个新的“安全” jpeg,然后将其提供给用户。您可以根据需要创建一个大小相同的新jpg,但是将原始数据传递给其他用户很危险。

我什至不允许您网站的管理员用户访问由随机互联网用户上传的jpg。它可能被用于入侵管理员的PC。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章