Linux服務器上文件的默認權限是644,這意味着每個人都可以讀取它。我閱讀了一些文章,建議將配置文件的權限更改爲600.這是否意味着黑客有權在php文件中查看代碼(如果啓用了讀取權限)?是否有可能在另一臺未執行輸出的服務器上讀取php文件中的代碼?
黑客有沒有辦法利用644文件的權限?
Linux服務器上文件的默認權限是644,這意味着每個人都可以讀取它。我閱讀了一些文章,建議將配置文件的權限更改爲600.這是否意味着黑客有權在php文件中查看代碼(如果啓用了讀取權限)?是否有可能在另一臺未執行輸出的服務器上讀取php文件中的代碼?
黑客有沒有辦法利用644文件的權限?
「每個人都可以讀取」包括在您的服務器上漫遊的黑客,所以是的黑客能夠讀取文件內容(如果他有權訪問您的服務器)。 如果黑客甚至在您的服務器上獲得root權限,則權限無關緊要,因爲他可以讀取所有文件。
如果黑客無法直接訪問您的服務器,而是試圖破解您的網站(或您提供的其他在線(PHP)服務),則黑客能夠以某種方式訪問該文件(錯誤地)提供文件的內容(例如,通過包含一些不應包含的文件)。假設服務沒有以root權限運行,文件權限也能夠防止服務(並因此黑客)讀取內容。
例如,假設你要計算你的文件的下載,你可以使用:
$download = $_GET['download'];
updateDownloadCounter($download);
// Send file to user
readfile($download);
如果「黑客」使用download.php?download=/etc/shadow
您的服務器的密碼(用戶帳戶以及至少哈希)被髮送到'黑客'作爲一個不錯的下載。 (對於這個明顯的例子,黑客似乎太討人喜歡了:P)
將文件權限設置爲600有助於防止黑客讀取文件內容,因爲php具有root權限並且無法讀取文件的內容。
請注意,有很多方法可以獲取文件的內容,因此僅僅/僅設置權限不足以保證您的安全。