如何允许 PHP 脚本写入具有高安全限制的文件,例如只允许单个用户写入?

困难似乎在于 PHP 脚本以低权限用户身份运行(可能是 apache,或 www,或无人?),即使我 chown apache the_writable_file,它所在的目录对于低级别用户可能不可写。一般来说,PHP 以安全的方式处理本地文件的常用方法是什么?

有帮助吗?

解决方案

不幸的是,在使用的共享主机中 mod_php,没有办法限制访问 将文件保护到您的网络应用程序和登录用户。

解决办法是 作为登录用户运行您的网络应用程序. 。当您这样做时,UNIX 文件权限可以正确地将其他人锁定在外。有多种方法可以实现这一点,包括 苏执行, 超PHP, ,或者使用 FastCGI 运行 PHP mod_fcgid 或者 mod_proxy_fcgid. 。FastCGI 是我最喜欢的方式。

另一种解决方案是使用专用主机或虚拟专用服务器。

其他提示

当然, chgrp apache the_writable_filechmod g+w the_writable_file. 。之后,只有您的安全用户和 apache 用户才能写入该文件。由于 apache 用户通常被禁止登录,因此您只需担心 Web 用户通过 http 守护进程写入您的安全文件。

所有包含的文件夹都需要具有执行权限。

例如,如果文件位于 /foo/bar/the_writable_file, ,目录“foo”和“bar”都需要具有可执行权限才能访问the_writable_file,即使它们没有读/写权限。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top