2015-09-11 53 views
3

我正在開發一個網站,最終將連接到一個mySQL數據庫。我的問題是,如何安全且安全地存儲這些憑證以訪問我的PHP站點中的數據庫,而不會因爲意外地被服務器返回爲普通文本的PHP服務器而受到威脅?任何幫助表示讚賞,謝謝! :)在哪裏安全地存儲數據庫證書在PHP網站

+0

你的意思是用於與mysql服務器通信的腳本的憑據,或者你的意思是用戶密碼,比如在數據庫中散列嗎? – Drew

+0

與數據庫進行通信的憑據,對不起 – scarecrow850

回答

2

此問題的常見做法包括將數據庫憑據放入不是PHP的配置文件(例如.ini文件)中,然後使用PHP讀取該文件。爲了增加額外的安全性,您還應該將配置文件放在Web根目錄之外,以便確保沒有人可以通過直接導航到該文件來訪問該文件。

例如,Laravel框架(除其他外)定義/ public目錄中的web根目錄,而該目錄之外是包含其他設置之間的數據庫憑證的.env文件。

看看這裏的更多信息:How to secure database passwords in PHP?

更重要的是,你應該永遠不必擔心你的PHP被服務爲純文本。採取適當的發展預防措施,確保永不發生。一些起點是:

  • 確保您安裝了PHP!
  • 確保您打開並正常關閉標籤
  • 確保您的文件擴展名是.php而不是.html(除非你用this work around
  • 另外,還要確保在您沒有在網頁上顯示的錯誤代碼生產(display_errors ini)
+0

如您所說,您如何採取適當的開發預防措施。幫助OP瞭解這一點。只是將其作爲您的答案的一部分 – Drew

+0

託管服務通常允許共享計劃的Web根目錄之外的文件夾?對不起,如果這不在問題的範圍內,但我沒有很多託管計劃的經驗。順便謝謝你的答案! – scarecrow850

+0

@ scarecrow850我不確定。我總是使用VPS,但如果您使用的服務如godaddy或ipage那麼它不太可能。在這種情況下,看看使用.htaccess來阻止某些文件被查看 – samrap