为什么我要使用这段代码来获取文件的名称?
$filename = pathinfo($_FILES['file']['name'], PATHINFO_FILENAME)
如果我也能通过下面的代码获得名字:
$filename = $_File['file']['name']
非常感谢!我是PHP的初学者,所以如果这个问题太愚蠢,我很抱歉:D
发布于 2018-08-19 07:33:37
因为$_File['file']['name']
来自用户端,虽然通常只是文件名,但恶意用户实际上可以将其设置为任何他想要的名称(例如:覆盖服务器中的文件的完整路径名),并且您必须像其他所有用户输入一样对其进行过滤,以防止系统中的攻击向量。
$_FILE
中的一切都是如此,不要相信消息灵通的MIME type
,在没有检查扩展名是否安全的情况下不要保存文件(保存.php
文件将是一场灾难)等等。
例如,我见过一个系统,它会信任等于image/jpeg
和其他图像类型的type
文件,然后在不检查实际文件扩展名的情况下保存它。伪造的请求可以将.php
外壳脚本插入到此网站的上载文件夹中,并被用来进行控制。
https://stackoverflow.com/questions/51913258
复制相似问题