Security
我應該將設置和配置文件的權限設置為 777 嗎?
我第一次編寫一個大型 PHP 應用程序(帶有設置),我想知道我應該為權限採取的安全預防措施。
setup.php 使用 fopen/fwrite 根據來自 setup.php 的 POST 數據生成 config.php。這可行,但似乎我無法寫入 config.php,除非我將其權限設置為
777
.Config.php 本質上將包含 PHP 變數中的數據庫憑據(將被包含()),這是否可以保留為
777
?我想知道這是否可以,或者我應該指示使用者將權限更改回諸如 655 之類的東西(我不確定)。
您應該將文件權限設置為完成手頭工作所需的權限。這可能是 777 用於安裝和 644 用於執行應用程序。
每次您的應用程序執行時,您應該檢查權限(在關鍵文件和路徑上)是否是您想要的,然後發出錯誤消息並停止應用程序執行(如果不是)。
許多 PHP 應用程序要求您在安裝產品時將 config.php 設置為 777。我認為這是完全可以接受的,但是應該警告使用者在設置完成後文件應該被設置回 644。
另一種解決方案是讓使用者使用數據庫設置對 config.php 進行硬編碼。然而,對於一些新使用者來說,這確實使事情變得複雜。