如何使用PHP从apache文件夹中读取文件
我一直这样做了很长一段时间,我的意思是,我可以使用PHP读取和写入文件而没有任何问题,但是现在我需要做一些不同的事情,我需要从apache的www文件夹中访问文件,例如:如何使用PHP从apache文件夹中读取文件
我通常在Linux上使用Apache时使用路径/ var/www /,但如果需要访问文件夹中的文件/ etc /anyfolder/anyfile.conf,我该怎么做?
我读过一些文章,说为PHP用来访问脚本的用户授予权限,但我不知道这是否安全?
如果您想通过PHP访问任何文件,那么用户或组下的PHP运行必须具有访问该文件的权限。这就是说,如果你只需要读取文件,那么你可以克隆文件并访问副本。如果有问题的文件很少发生变化,那么您可以手动执行此操作,否则您可以通过shell脚本和cron来执行此操作,而且每隔一段时间(通常您都需要)复制文件。这样你就不会打开实际文件的权限。如果你需要写入该文件,那么我想你可以做类似的方法(通过PHP访问文件的副本,然后运行一个脚本,将其复制到/ etc文件夹中的原始文件,但如果你这样做,你应该也可以验证任何用户输入正在发送之前写入原始文件,以确保没有恶意推动。
您要担心的主要事情是使您的PHP文件安全,以防止任何人运行恶意的脚本脚本(你应该对所有PHP文件进行操作,而不管它们的功能如何),这意味着要验证任何用户输入并确保如果有人访问任何PHP文件(或者在与PHP相同的用户/组下运行的服务器上的其他任何内容)你的敏感系统文件将受到保护,并且只提供做你正在做的任何事情所需的最小权限(即不需要nee d如果你想要做的只是读取文件,并且如果你只想允许访问该目录中的特定文件,则不需要提供目录级别访问权限即可提供写入或可执行权限。
最后一件事就是看看为什么你需要首先让PHP访问这些文件,并看看是否有其他解决方案。如果你允许访问/ etc文件,那么我认为他们是一些应用程序或其他应用程序的配置文件。考虑到像这样更新文件会导致应用程序对所有其他用户的行为发生变化,这真的是你要做的吗?
是的,这正是我需要的。我正在创建一个系统来维护服务器,让noob用户更容易,你知道吗?我需要访问一些aplications的conf文件来改变他们的行为,如果用户想要的话。在将他们在线之前,我会确保权限和脚本是否足够安全。 – Foreba 2012-04-01 23:33:07
作为deamons运行的应用程序很可能需要在更新配置后重新启动 - 这是需要记住的,因为这可能超出了您应该允许PHP用户执行的范围(例如:您是否确实希望有人通过apache重新启动Apache PHP脚本?) – TheOx 2012-04-02 02:10:26
其实是的......我不会这样做到在线服务器,它是一个内部服务器,控制公司的应用程序,我没有给任何人使用这个应用程序的权限,只有一个或两个可靠的人将被监控购买同一个应用程序的日志,如果出现问题或者他们尝试做不同的事情,公司就会解雇他们并雇佣另一个人。我需要这个去度假:) ..非常感谢你,你真的很有帮助。 – Foreba 2012-04-02 02:35:23
谢谢...我会寻找那个...... – Foreba 2012-04-01 23:24:29
完全忘了'open_basedir',我疯了 - 谢谢你! – 2015-06-16 17:42:02
当你说“访问”做的意思是读,写或两者? – 2012-04-01 19:30:34
可能重复的[PHP文件权限](http://stackoverflow.com/questions/3868473/php-file-permissions) – 2012-04-01 19:31:43
是的,我想读,写,在屏幕上打印和所有的东西... – Foreba 2012-04-01 23:07:59