gpt4 book ai didi

php - 这是保存上传文件的安全方法吗?

转载 作者:行者123 更新时间:2023-12-02 07:47:47 25 4
gpt4 key购买 nike

只检查上传文件的扩展名是否足够安全?如果不是,我还应该检查什么?

public function saveUploadedFile($fileInputName, $fileLocation)
{
$fileName=$_FILES[$fileInputName]['name'];
if(substr($fileName,-4,4)=='.php')
{
my_error('have some cake');
return FALSE;
}
else
{
move_uploaded_file($_FILES[$fileInputName]['tmp_name'],$fileLocation.$fileName);
}
}

最佳答案

我要更改的一件事是您的条件:

if(substr($fileName,-4,4)=='.php')

您所做的是将 .php 文件列入黑名单,这本身就很好。但是,(正如对该问题的评论中所指出的那样),您应该改为采用将文件类型列入白名单的方法。所以对于有条件的,你会检查相反的。

逻辑上不是说“如果文件是 .php 则失败”,而是逻辑上说“如果文件不是 .jpg 或 .gif 或 .doc 等则失败”。拥有一个完整的允许类型列表并禁止所有其他类型通常更安全,并有助于防止人们偷偷通过不良文件。

这不是一个完整的安全解决方案,但通常白名单比黑名单更安全。

关于php - 这是保存上传文件的安全方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5716805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com