2011-04-03 63 views
0

快速的問題,我似乎無法找到任何地方;至少不是一個明確的答案。我有一個SQLite文件,我上傳到我的虛擬主機,但如果我導航到它的URL可以下載。我如何防止這種情況?另外,我嘗試使用md5函數加密密碼字段,但它不允許我添加啓用它的條目。我應該使用SQLite3嗎?有什麼想法嗎?謝謝,我真的不喜歡數據庫...在哪裏保持SQLite文件的虛擬主機,並加密

回答

1

如果我通過URL導航到它可以下載。我如何防止這種情況?

您可以將它放在文檔根目錄之上。例如,如果您有一個名爲public_htmlhtdocs的目錄(您的站點的所有文件都來自該目錄),則可以簡單地將數據庫文件放在與這些目錄相同的級別而不是內部。

我試圖使用md5函數加密密碼字段,但它不允許我添加啓用它的條目。

MD5是hash而不是encryption。這意味着它是一種方式,而不是兩種方式。

當你說「不允許我添加條目」時,你能解釋一下你的意思嗎?

我應該使用SQLite3嗎?

如果你有它,你應該。曾經有人討論過舊的基於2.x的SQLite功能。

+0

每次我使用SQLiteManager插入一個帶有md5的字段時,它都不允許它...它也不會讓我從表中刪除行,但噢 – 2011-04-03 14:54:58

+0

我不認爲我會使用它現在它不加密 – 2011-04-03 14:56:21

+1

@Trevor,考慮使用不同的工具,如SQLite命令行或[其中一個推薦管理工具](http://www.sqlite.org/cvstrac/wiki?p=ManagementTools)。 SQLite *不關心數據的類型,所以**沒有任何**會阻止你使用正確的醃製哈希來存儲密碼。將結果放在一個普通的'TEXT'字段中,然後調用它。 – Charles 2011-04-03 14:57:52

0

如果你上傳你的數據庫,不要直接上傳到htdocs/documentroot文件夾中的文件夾。你可以限制對它的訪問,例如,如果你使用的是Apache,你可以在.htaccess文件中設置它。

在同一水平的DocumentRoot創建一個單獨的文件夾:

/htdocs 
/database  <-- upload your db to this folder 
... 

所以沒有人可以用一個URL訪問它。

+0

我仍然可以通過一個URL訪問它,當它在一個新的目錄中 – 2011-04-03 15:01:19

+0

我剛剛將文件權限更改爲0600並且工作了 – 2011-04-03 15:08:00