如何安全地允许 PHP 脚本保存文件?

如何安全地允许 PHP 脚本保存文件?

我有一个 PHP 脚本,用于将图像保存到/var/www/backend/images/文件夹中。该脚本位于/var/www/html/save_image.php

中所有文件夹和文件的所有者和组/var/www/ubuntu

为了测试,这是我的简单脚本,但它不起作用:

<?php
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
$txt = "John Doe\n";
fwrite($myfile, $txt);
$txt = "Jane Doe\n";
fwrite($myfile, $txt);
fclose($myfile);
?>

我收到以下消息:

警告:fopen(newfile.txt):无法打开流:/var/www/html/save_image.php 第 2 行权限被拒绝,无法打开文件!

我如何才能允许该脚本仅保存文件?

答案1

Apache 服务通常从帐户运行,www-data因此,除非您故意更改它,否则您需要执行以下操作:

sudo chown -R www-data:www-data /var/www

相关内容