我在目录中托管了一个网站:/var/www/website.com
。
此目录及其所有子文件夹允许执行PHP代码。但是,我想阻止特定文件夹(/var/www/website.com/subfolder
)中的PHP文件访问父文件夹并列出其文件。
示例:应该允许像scandir()
这样的PHP函数列出(/var/www/website.com/subfolder
)中的所有文件夹,子文件夹和文件,但是应该 NOT 列出文件低于该级别。
你知道如何实现这样的行为(最好是Nginx)吗?
答案 0 :(得分:4)
为该文件夹中运行的文件设置PHP open_basedir
选项吗?
例如,nginx
:http://michaelshadle.com/2011/02/11/setting-php-ini-parameters-from-nginx
答案 1 :(得分:2)
我发现启用PHP-FPM的chroot变量实际上是真正将用户锁定到目录中的最佳方式。它仍然不是防弹的,但比使用open_basedir选项更好。
Google" chroot用户php-fpm"