1

我正在为不懂 HTML/CSS 的人用 JS 开发一个所见即所得类型的网站构建器。一切都完成了,但我想让它尽可能简单。在一个完美的世界中,他们只需将所有文件上传到他们的主机并完成它。我遇到的问题是,我有一些需要写入的文件和文件夹,但 PHP 没有权限,除非我将这些特定文件和文件夹 CHMOD 到 777。

我真的不想这样做,并希望我有其他选择,我也不想因为将 CHMOD 777 强加于每个人而受到批评。有什么我可以做的(这对我的用户来说很简单)来允许 PHP 写入文件/文件夹而不必授予每个人的权限?

我不能让 PHP 自己创建文件/文件夹,因为它也无权写入根目录。

4

2 回答 2

3

您可以chgrp将文件放到 Web 服务器的组(或 PHP,如果它设置为作为自己的用户运行)和chmod 770它们。但这不会给你带来太多的安全感。

或者,您可以执行其他一些 PHP CMS(如 Joomla)所做的事情——当需要修改文件时,让服务器通过 FTP(使用站点所有者的凭据)连接回自身并上传替换文件。

但是,说实话,您选择允许人们修改服务器上的文件的任何方式都会有其缺陷,而且安全性通常几乎与使整个站点可写一样糟糕。不管你怎么做,我建议你确保你的身份验证和访问控制机制符合要求,因为你自己承担了这些责任,特别是当你允许网络用户编辑文件时。

于 2010-11-04T20:14:08.983 回答
0

让用户 CHMOD 777 进入根目录,让您的脚本创建新文件夹,然后让他们恢复根目录的权限。

于 2010-11-04T20:14:53.257 回答