千家信息网

PHP怎么识别文件伪装

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,本篇内容主要讲解"PHP怎么识别文件伪装",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"PHP怎么识别文件伪装"吧!问题:文件上传时候需要验证上传的文件是否
千家信息网最后更新 2025年01月20日PHP怎么识别文件伪装

本篇内容主要讲解"PHP怎么识别文件伪装",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"PHP怎么识别文件伪装"吧!

问题:

文件上传时候需要验证上传的文件是否合法,文件伪装如何识别?

一个简单测试:把txt文件后缀直接改成jpg;上传

    test            
Send this file:

1.通过$_FILES['userfile']['type'];获取文件后缀名;

$data = $_FILES['userfile'];var_dump($data);/**结果**//*array(5) {  ["name"]=>  string(8) "test.jpg"  ["type"]=>  string(10) "image/jpeg"  ["tmp_name"]=>  string(26) "/private/var/tmp/phpfyE3EC"  ["error"]=>  int(0)  ["size"]=>  int(19)}*/

没有检测出来;

2.用pathinfo()函数来获取文件路径的信息

$data = $_FILES['userfile'];// var_dump($data);var_dump(pathinfo($data['name']));/**结果**//*array(4) {  ["dirname"]=>  string(1) "."  ["basename"]=>  string(8) "test.jpg"  ["extension"]=>  string(3) "jpg"  ["filename"]=>  string(4) "test"}*/

没有检测出来;

3.PHP的扩展fileinfo(需要安装开启)

$data = $_FILES['userfile'];$filename = $data['tmp_name'];$finfo   = finfo_open(FILEINFO_MIME_TYPE);//返回 mime 类型。 自 PHP 5.3.0 可用。$mimetype = finfo_file($finfo, $filename);finfo_close($finfo);var_dump($mimetype);/**结果**///string(10) "text/plain"

到此,相信大家对"PHP怎么识别文件伪装"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0