最近,我發現帝國CMS(CMS)所構建的網站首頁被惡意篡改,網站上被放置了亂七八糟的內容,嚴重影響了網站的訪問。
我已經按照《Web服務器目錄權限設置原則》設置了服務器,理論上不應該再出現惡意篡改的問題。然而,經過研究帝國CMS的后臺,我發現它具有生成靜態文件的功能。網站的首頁和欄目中的文章都是通過生成靜態文件來實現的。在生成靜態文件時,確實需要對網站目錄具有寫入權限,還需要訪問這些網站目錄的權限。這與《Web服務器目錄權限設置原則》相沖突。
我注意到這個問題后,考慮到了一個可能的解決方案。參考易客CRM在定義模塊時遇到的權限問題解決辦法,我們可以在需要寫入權限的時候通過命令行腳本更改網站目錄的權限。當生成靜態文件后,我們可以通過回收網站目錄的權限??紤]到當前的問題是首頁惡意篡改問題,我們只針對index.html進行處理,其他目錄暫不做處理。
為了實現這一目標,我找到了帝國CMS刷新首頁的處理代碼(e/class/chtmlfun.php中的ReIndex函數)。在函數開頭和結尾分別添加了修改權限為555和777的Linux命令行代碼。這樣只在更新首頁時才擁有寫入權限,其他情況下只有讀取和執行權限。通過PHP代碼調用Linux命令是通過shell_exec函數實現的。
這個方法在一定程度上解決了首頁被惡意篡改的問題,但還需要進一步的觀察和測試,以確保問題得到徹底解決。
我們專注高端建站,小程序開發、軟件系統定制開發、BUG修復、物聯網開發、各類API接口對接開發等。十余年開發經驗,每一個項目承諾做到滿意為止,多一次對比,一定讓您多一份收獲!