林試圖找出是否有辦法,我可以允許通過允許的open_basedir路徑包括文件複製到的open_basedir之外的某個目錄,但在同一時間,防止fopen,file_get_contents等打開這些目錄中的文件。允許從目錄包括但防止FOPEN到同一位置
這樣做是爲了防止惡意用戶竊取源代碼的平臺,他們只許可使用,並將其移動到不同的服務器,而無需授權。
由於帳戶chroot的,他們不能運行了shell_exec系統命令或以其他方式從shell訪問這些文件,但是因爲我必須讓他們開BASEDIR包括的文件,有人可以編寫一個腳本來複制的文件結構包含本地帳戶的路徑,然後ftp下來。
我想,以防止被可能的,如果可能的話。
禁用fopen等不是一個選項。
兩者都讀訪問您的服務器上安裝PHP,所以我懷疑你能做到這一點。如果您的目標是安全,您可以創建一個本地主機REST服務供他們訪問? –
不可能。 'include'基本上是'$ code = file_get_contents(...); eval($ code)'和'file_get_contents()'基本上只是'fopen();的fread(); FCLOSE();'。有沒有辦法區分「打開運行代碼」和「打開復制代碼」 –
另一個想法 - 你可能會編輯PHP源代碼,並重新編譯它在你的服務器上引發異常,當用特定的路徑模式調用fopen ,這裏:https://github.com/php/php-src/blob/master/main/fopen_wrappers.c –