首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >当我可以通过$_File数组获取pathinfo时,为什么还要使用pathinfo?

当我可以通过$_File数组获取pathinfo时,为什么还要使用pathinfo?
EN

Stack Overflow用户
提问于 2018-08-19 07:27:27
回答 1查看 99关注 0票数 0

为什么我要使用这段代码来获取文件的名称?

代码语言:javascript
复制
$filename = pathinfo($_FILES['file']['name'], PATHINFO_FILENAME)

如果我也能通过下面的代码获得名字:

代码语言:javascript
复制
$filename = $_File['file']['name']

非常感谢!我是PHP的初学者,所以如果这个问题太愚蠢,我很抱歉:D

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-19 07:33:37

因为$_File['file']['name']来自用户端,虽然通常只是文件名,但恶意用户实际上可以将其设置为任何他想要的名称(例如:覆盖服务器中的文件的完整路径名),并且您必须像其他所有用户输入一样对其进行过滤,以防止系统中的攻击向量。

$_FILE中的一切都是如此,不要相信消息灵通的MIME type,在没有检查扩展名是否安全的情况下不要保存文件(保存.php文件将是一场灾难)等等。

例如,我见过一个系统,它会信任等于image/jpeg和其他图像类型的type文件,然后在不检查实际文件扩展名的情况下保存它。伪造的请求可以将.php外壳脚本插入到此网站的上载文件夹中,并被用来进行控制。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51913258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档