2011-12-06 68 views
0

我試圖保護平面文件數據庫不被任何人訪問或查詢,除了PHP從我的服務器運行。保護平面文件數據庫

谷歌有很多非常廣泛的理論,但沒有什麼固定的Web服務器上的進程來保護數據。它不能被包含在Web根目錄之上。

+0

你問有關設置文件權限嗎? – mobius

+0

或者只是''和'全部拒絕' – mario

+0

@mobius我在問如何阻止任何人訪問我的可訪問根目錄中的文件,如果可能的話還有權限繼續。 @mario我已經看過'.htaccess'保護,但是我在某處讀到'.htaccess'不是100%可靠的,因爲有時可以跳過該文件...不知道該評論的真實性。 –

回答

3

可以使用的.htaccess:

<Files *.db> 
Deny from All 
</Files> 
+0

謝謝,我該怎麼寫,這樣,而不是搜索文件,它成爲所有擴展名爲「.db」的文件的規則?那可能嗎? –

+0

是的,我已經更新了我的答案 – konsolenfreddy

1

可以使整個目錄從網頁無法訪問使用.htaccess,與上述類似,但我會做出一個單獨的目錄,這些並禁止整個事情:

<Directory ~ "db"> 
Deny from all 
</Directory> 

這顯然不允許你從你的webroot放入「db」目錄的任何文件。

1

「必須包含在web根目錄」限制可能是一個問題;這當然不是理想的。

我的建議是詢問webmasters關於如何配置Web服務器以禁止訪問此文件(不要相信程序員,當你不需要)時,但也要記住,你必須確保無法通過腳本顯示文件的內容。

另外:如果您有任何機會運行腳本來顯示文件內容¹,則必須特殊設置代碼以明確阻止它在數據庫文件上運行。這隻能在個案基礎上完成,而且您必須時刻牢記(未來可能會添加具有此功能的代碼)。不是一個令人羨慕的情況。

¹這比您想象的要容易得多:甚至像include($view)這樣的「簡單」的東西,其中$view可以從URL提供,並且沒有得到適當的驗證可以造成損害。