2012-08-03 47 views
0

我幾乎可以肯定,PHP總是能夠到服務器上的任何地方,並對任何文件做任何事情,但我想知道是否有辦法限制它只能在一個文件夾中工作,什麼是需求?PHP可以限制在某些文件夾中工作嗎?

我的意思是說我們有50個WordPress安裝,50個文件夾。如果來自不受信任的插件的病毒隻影響1次安裝 - 它會立即轉到另外49次(因爲PHP可以掃描服務器上的所有目錄)。

有什麼辦法可以防止這種情況發生?如果病毒分解成1個WordPress安裝 - 我希望它只停留在那裏。

我的託管服務提供商表示,如果不購買其他服務器,這是不可能的。你有什麼意見?

+0

這將是舉辦超實用的功能供應商。如果可能的話,這將使我的工作絕對安全。感謝您確認@SiGanteng – Atadj 2012-08-03 10:17:53

+0

[神奇的Google搜索詞是「chroot」](http://www.google.com/search?q=chroot) – DaveRandom 2012-08-03 10:25:11

+0

@DaveRandom感謝您告訴我!我實際上設法找到了一些支持這個的託管服務提供商。 – Atadj 2012-08-03 10:34:04

回答

5

用PHP-FPM可以chroot PHP工人(絕對分離),並給每一個PHP應用程序自己的用戶和PHP配置(超時,內存限制等)。您不必使用chroot來擁有唯一的用戶。通過簡單的文件權限,您可以使Webroot對任何人都不可讀,而不是該Webroot的專用用戶。此外,這不是特定於Apache,適用於任何其他支持fastcgi的網絡服務器。

更容易一些設置方式可以在PHP的open_basedir進行中繼(有如何安全open_basedir是因爲PHP的開發人員經常可修復此功能有關bugs爭議)

+0

open_basedir似乎是針對「自動」攻擊(共享主機)的一個很好的解決方案。只有真正的黑客會檢查WP的index.php刪除那東西:)它肯定不安全,但至少它應該限制所有自動化病毒。謝謝! – Atadj 2012-08-03 13:05:00

+0

@Flow:你可以在php.ini中設置open_basedir。 – nkr 2012-08-03 13:29:14

+0

如果你在你的apache的''中設置了'php_admin_value',那麼腳本不應該禁用它。 – complex857 2012-08-03 13:54:33

相關問題