我從其他問題中看到我可以設置open_basedir
來限制對父文件夾的訪問。但是,我決定做一些實驗來找出我可以做的事情。在PHP中限制對父目錄的訪問
第一個測試是看我是否可以使用ini_set
函數手動設置open_basedir
。值得慶幸的是,這個函數似乎可以設置一個更嚴格的basedir,但它不能用來減少限制。這很好。
但是我的下一個測試有點不安:
ini_set("open_basedir","/path/to/desired/root/limited");
echo file_get_contents("/some/outsite/file.txt"); // error: basedir restriction
echo `cat /some/outside/file.txt`; // outputs the file
我似乎無法找到任何方式限制的東西shell訪問。
所以我想我真正的問題是,我能做些什麼來確保父文件夾是安全的?顯然,open_basedir
不會削減它。
我不明白'echo'cat /some/outside/file.txt';'實際上是在php中打印文件,應該在物理上輸出'cat/some /不會影響open_basedir –
shell的範圍不太可能在PHP中受到限制,你必須限制PHP運行的實際用戶,通常會阻塞'exec() '爲了完全安全的配置 –
@MikeB Backticks。[L賺取大約'時間](http://php.net/manual/en/language.operators.execution.php) –