2017-01-19 73 views
0

我正在創建一個雲存儲項目,我希望用戶能夠上傳任何文件。特別是,我希望人們能夠上傳.htaccess文件,但我不希望Apache使用這些文件,因爲這是一個安全問題。我如何防止Apache使用用戶上傳的文件,同時仍然在父文件夾中使用我自己的.htaccess文件?如何讓子文件夾中的.htaccess文件不執行?

回答

0

This question有助於閱讀。首先應用www-root附近的指令,稍後使用子文件夾並覆蓋先前的設置。

有一些事情可以做:

  • 不要使用.htaccess文件可言,甚至沒有在其他目錄。如果你有一個專用的服務器,你可以編輯服務器配置文件,效率更高。它會允許你設置AllowOverride None,這將阻止Apache使用.htaccess文件。相反,您可以通過將規則放入服務器配置文件來完成相同的操作。每次進行更改時都需要重新啓動Apache,並且在服務器配置文件中出現錯誤將阻止Apache啓動,直到修復爲止。
  • 將文件存儲爲不帶擴展名的隨機字符,使其無法直接訪問任何文件,而是依賴數據庫將文件名映射到文件。這使您可以安全地存儲文件,而不會丟棄數據庫中的所有內容。

你不能把任何東西在你的.htaccess文件,將防止子目錄中的.htaccess文件中被忽略,因爲AllowOverride只有在目錄範圍內的作品,而不是在.htaccess上下文。