如何允许PHP脚本写入具有高安全性限制的文件,例如只允许单个用户写入?
困难似乎是PHP脚本作为低权限用户运行(可能是apache,或者www,或者没有人?),即使我chown
apache the_writable_file,它所在的目录可能不是可以为低级别用户写入。一般来说,PHP能以安全的方式使用本地文件的常用方法是什么?
答案 0 :(得分:2)
不幸的是,在使用 mod_php的共享主机中,没有办法限制访问以保护文件到您的网络应用和登录用户。
解决方案是以您的登录用户运行您的网络应用。执行此操作时,UNIX文件权限可以正确锁定其他所有人。有几种方法可以实现这一点,包括SuExec,suPHP,或使用带有mod_fcgid或mod_proxy_fcgid的FastCGI运行PHP。 FastCGI是我最喜欢的方式。
另一种解决方案是使用专用主机或虚拟专用服务器。
答案 1 :(得分:0)
当然,chgrp apache the_writable_file
和chmod g+w the_writable_file
。之后,只有您的安全用户和apache用户才能写入该文件。由于通常禁止apache用户登录,因此您只需担心Web用户通过http守护程序使用安全文件写入。
答案 2 :(得分:0)
所有包含文件夹都需要具有执行权限。
例如,如果文件在/foo/bar/the_writable_file
中,则目录“foo”和“bar”都需要具有访问the_writable_file的可执行权限,即使它们没有读/写权限。