我对PHP有疑问,但我们需要限制PHP脚本安全运行。理想情况下它应该是这样的:
核心代码将位于public_html之外,例如/ etc / app /
所有网站都将使用相同的核心。每个站点的“用户”应仅限于公共文件夹中,但核心中的代码应该是可读且可执行但不可编辑
我想我们可以将它添加到open base目录中,或者可以将它符号链接到每个站点并将其设置在与所有站点用户相同的组中(因此具有读取/执行权限)
我对这种环境真的很陌生,所以我想知道我是否忽视了这种情况?
---编辑
更多信息:
答案 0 :(得分:0)
执行此操作的一种方法是在include_path
文件中的php.ini
指令中简单地放置symofny2的路径。因此,当您使用include
时,require
PHP将尝试通过查看include_path
来查找所需文件并提供该文件。
您唯一需要做的就是保护文件
chown -R root.root /path/to/symfony2_core
find /path/to/symfony2_core -type f -name "*.php*" -exec chmod 755 {} \;
请注意,不要让apache
或php
成为文件的所有者,因为这可以用作漏洞。 (即,如果http服务器是所有者,在某些情况下,用户只需执行shell_exec('echo "do something nasty here." > /path/to/symfony2_core/Kernel.php')
就可以覆盖文件)