我試圖保護平面文件數據庫不被任何人訪問或查詢,除了PHP從我的服務器運行。保護平面文件數據庫
谷歌有很多非常廣泛的理論,但沒有什麼固定的Web服務器上的進程來保護數據。它不能被包含在Web根目錄之上。
我試圖保護平面文件數據庫不被任何人訪問或查詢,除了PHP從我的服務器運行。保護平面文件數據庫
谷歌有很多非常廣泛的理論,但沒有什麼固定的Web服務器上的進程來保護數據。它不能被包含在Web根目錄之上。
可以使用的.htaccess:
<Files *.db>
Deny from All
</Files>
謝謝,我該怎麼寫,這樣,而不是搜索文件,它成爲所有擴展名爲「.db」的文件的規則?那可能嗎? –
是的,我已經更新了我的答案 – konsolenfreddy
可以使整個目錄從網頁無法訪問使用.htaccess
,與上述類似,但我會做出一個單獨的目錄,這些並禁止整個事情:
<Directory ~ "db">
Deny from all
</Directory>
這顯然不允許你從你的webroot放入「db」目錄的任何文件。
「必須包含在web根目錄」限制可能是一個問題;這當然不是理想的。
我的建議是詢問webmasters關於如何配置Web服務器以禁止訪問此文件(不要相信程序員,當你不需要)時,但也要記住,你必須確保無法通過腳本顯示文件的內容。
另外:如果您有任何機會運行腳本來顯示文件內容¹,則必須特殊設置代碼以明確阻止它在數據庫文件上運行。這隻能在個案基礎上完成,而且您必須時刻牢記(未來可能會添加具有此功能的代碼)。不是一個令人羨慕的情況。
¹這比您想象的要容易得多:甚至像include($view)
這樣的「簡單」的東西,其中$view
可以從URL提供,並且沒有得到適當的驗證可以造成損害。
你問有關設置文件權限嗎? – mobius
或者只是''和'全部拒絕' –
mario
@mobius我在問如何阻止任何人訪問我的可訪問根目錄中的文件,如果可能的話還有權限繼續。 @mario我已經看過'.htaccess'保護,但是我在某處讀到'.htaccess'不是100%可靠的,因爲有時可以跳過該文件...不知道該評論的真實性。 –