[英]Configure PHP application to safely run for multiple sites
我有一個關於PHP的問題,但我們需要限制PHP腳本安全運行。 理想情況下它應該是這樣的:
核心代碼將位於public_html之外,如/ etc / app /
所有網站都將使用相同的核心。 每個站點的“用戶”應僅限於公共文件夾中,但核心中的代碼應該是可讀且可執行的,但不可編輯
我想我們可以將它添加到open base目錄或者可以將它符號鏈接到每個站點並將其設置在與所有站點用戶相同的組中(因此具有讀取/執行權限)
我對這種環境真的很陌生,所以我想知道我是否忽視了這種情況?
---編輯
更多信息:
一種方法是在php.ini
文件中的include_path
指令中簡單地放入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')
覆蓋文件shell_exec('echo "do something nasty here." > /path/to/symfony2_core/Kernel.php')
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.