簡體   English   中英

配置PHP應用程序以安全地運行多個站點

[英]Configure PHP application to safely run for multiple sites

我有一個關於PHP的問題,但我們需要限制PHP腳本安全運行。 理想情況下它應該是這樣的:

  1. 核心代碼將位於public_html之外,如/ etc / app /

  2. 所有網站都將使用相同的核心。 每個站點的“用戶”應僅限於公共文件夾中,但核心中的代碼應該是可讀且可執行的,但不可編輯

我想我們可以將它添加到open base目錄或者可以將它符號鏈接到每個站點並將其設置在與所有站點用戶相同的組中(因此具有讀取/執行權限)

我對這種環境真的很陌生,所以我想知道我是否忽視了這種情況?

---編輯

更多信息:

  1. 我正在使用php5-fpm
  2. 我正在關注這個問題 ,以確保腳本在特定用戶/組下運行
  3. 通過安全運行,我的意思是,即使允許用戶上傳自己的腳本,他們也無權做任何可能影響其他帳戶的事情(例如將惡意文件放在其他帳戶上,編輯核心文件)等...)

一種方法是在php.ini文件中的include_path指令中簡單地放入symofny2的路徑。 因此,當您使用includerequire PHP將通過查看include_path並嘗試查找所需的文件並提供它。

您唯一需要做的就是保護文件

  • chown -R root.root /path/to/symfony2_core
  • find /path/to/symfony2_core -type f -name "*.php*" -exec chmod 755 {} \\;

請記住,不要讓apachephp成為文件的所有者,因為這可以用作漏洞。 (即如果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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM