限制PHP仅在实际的文件夹和子文件夹中运行

问题描述 投票:0回答:1

我在Linux服务器的同一public_html文件夹中托管了多个网站。我希望每个文件夹都不能访问其他文件夹,而只包含一些特定文件。

这是我的服务器结构:

-> public_html
---> site1 folder
---> site2 folder
---> site3 folder
---> common scripts folder

例如,如果黑客破坏了site2,我需要他不能列出public_html文件夹的内容,也不能访问和运行其他文件夹中的脚本。但是同时,我还需要例如site2能够包含并运行“公共脚本”文件夹中包含的某些特定文件。

仅通过htaccess规则就能实现吗?

感谢您的帮助。

php apache .htaccess working-directory
1个回答
0
投票

首先,您无法通过htaccess实现此目的。因为如果黑客闯入一个站点,那么该黑客可以控制整个服务器空间,在该服务器空间中,当前用户帐户(黑客通过的帐户,例如:www用户帐户)具有访问权和权限。

如果您需要一个完整的具体解决方案,则为您的vps服务器创建多个用户,并为每个用户定义访问规则和权限,并让他们的站点部署到相应的用户空间中,例如

/home/user1/sites/site1
.
.
/home/user1/sites/site10

/home/user2/sites/site1

上述情况很简单,就像服务器被虚拟拆分并出售给多个用户一样。例如:从Godaddy或hostgator购买共享的托管空间Godaddy几乎将服务器分开,然后将其出售给多个用户。每个用户只能查看和访问他们自己的空间,即使他们都位于同一云服务器中,也不能访问其他用户的空间

© www.soinside.com 2019 - 2024. All rights reserved.