我还没有找到关于首选(最佳实践)和/或安全方法的可靠信息,以允许php访问Linux服务器上的配置文件或其他类型的文件在公共网站目录或由apache用户拥有,所以我希望能在这里找到答案。安全地允许PHP读写系统文件
我是一个相当能干的PHP程序员,但我越来越多地负责编写Web应用程序(其中大部分不能通过网络公开访问),需要更新,更改或添加到配置文件或由某些服务或应用程序生成的文件在服务器上。
例如,我需要创建一个Web界面,用于查看,添加或删除root所拥有的/etc/mail/spamassassin/white-list.cf文件中的条目。
另一种情况是,我需要php来解析用户vmail拥有的/ var/vmail中的mime消息。
这些仅仅是一些示例,其他进程/用户拥有的位置中还会有其他文件。我如何编写PHP应用程序来安全地访问和操作这些文件而不会造成安全风险?
我不会推荐对root拥有的文件进行任何未经身份验证的写访问权限。话虽如此,如果您对验证用户输入非常严格,并且非常小心如何共享单个文件的所有权........我仍然不会这样做。使用'cpanel','webmin'或者其他基于网络的管理工具,这些管理工具已经具有这些功能和内置的安全功能。 –
谢谢,我很欣赏这个输入。不过,我并没有要求通过网络管理服务器的实用程序或应用程序。我正在寻找PHP代码的最佳实践来访问网络目录之外的文件并由其他用户拥有。换句话说,我想采取与cpanel,webmin等相同的方法。 – Avedis777
我的总体策略是将由www-data更改的内容卸载到临时文件或数据库中,然后创建一个由root拥有并执行的单独PHP脚本(作为cronjob)解析所述输入实际上执行配置覆盖。 –