编程语言
首页 > 编程语言> > ZipArchive php类将文件提取为root.为什么?

ZipArchive php类将文件提取为root.为什么?

作者:互联网

我有一个PHP脚本:

$extract_dir = "./";
$extract_file = "extractME.zip";

$zip = new ZipArchive;
$res = $zip->open($extract_file);
if ($res === TRUE) {
    $zip->extractTo($extract_dir);
    $zip->close();
    echo "ok";
} else {
    echo "failed";
}

但是当我通过http://www.mywebsite.com/extract.php执行此脚本时

FTP上的所有文件都以OWNER’root’显示,但不是ex用户.应该是“ neo”.因此,用户无法编辑/重命名/删除这些文件.

是否有可能解决此问题(我是服务器的所有者),使用“ USERNAME” OWNERSHIP提取文件?

解决方法:

出于某种原因,您的Web服务器(Apache)以root身份运行,因此它制作的任何文件都将以root身份运行.永远都不会这样. apache通常以“ www-data”或“ httpd”或“ nobody”或“ god”运行,具体取决于Linux发行版.

我建议您从系统管理员的角度进行调查,并在最终被利用之前请别人帮您解决. (假设这是一个实时服务器)

您可以使用www.php.net/chown函数,也可以在命令行上运行“ chown”命令,或者使用诸如system()或exec()函数之类的方法从PHP中执行该命令.

祝好运.

标签:unzip,ziparchive,php
来源: https://codeday.me/bug/20191209/2097516.html