配置PHP应用程序以安全运行多个站点
我有一个关于PHP的问题,但我们需要限制PHP脚本安全运行。理想情况下应该是这样的:配置PHP应用程序以安全运行多个站点,php,symfony,nginx,Php,Symfony,Nginx,我有一个关于PHP的问题,但我们需要限制PHP脚本安全运行。理想情况下应该是这样的: 核心代码将位于公共html之外,如/etc/app/ 所有站点将使用相同的核心。每个站点“用户”应仅限于公用文件夹内,但核心代码应可读、可执行,但不可编辑 我认为我们可以将其添加到OpenBase目录,或者将其符号链接到每个站点,并将其与所有站点用户设置在同一组中(因此具有读取/执行权限) 我对这种环境真的很陌生,所以我想知道我是否忽略了什么 ---编辑 更多信息: 我用的是php5 fpm 我遵循以下步骤以确
一种方法是将symofny2的路径放在
php.ini
文件的include\path
指令中。因此,当您使用include
时,require
PHP将通过查找include\u路径
s来尝试找到所需的文件并提供它
你唯一需要做的就是保护这些文件
chown-R root.root/path/to/symfony2\u core
find/path/to/symfony2_core-type f-name“*.php*”-execchmod755{}代码>
请记住,不要让
apache
或php
成为文件的所有者,因为这可能会被用作漏洞利用。(即,如果http服务器是所有者,在某些情况下,用户只需执行shell\u exec('echo“在这里做一些讨厌的事。”>/path/to/symfony2\u core/Kernel.php')
)即可覆盖文件。我假设您使用的是php5 fpm
?安全运行是什么意思。这在某种程度上取决于您是自己编写代码还是托管其他人的代码。。。如果您不知道具体运行的是什么,那么您需要采取一些额外的操作,比如chrooting php、创建不同的用户、禁用函数、设置适当的权限……我编辑了我的问题,希望能让问题更清楚。如果还不清楚,请告诉我。