2010-09-20 93 views
5

我有一個用PHP開發的網站。有2個類別(在2個獨立的php文件中)包含siteadmin的gmail用戶標識和密碼(純文本)和數據庫密碼(純文本格式)。儘管瀏覽器中沒有顯示這些類(如index.php)。這些文件只包含php類,沒有html代碼,對這些純文本密碼的引用只能通過這些類的對象。 關晚了,我開始懷疑這是否足夠安全?我盡我所能(充當惡意的人)嘗試閱讀兩個所說的php文件的內容,但無法做到這一點。我不是很熟悉開發安全代碼,所以不知道我應該怎樣確保這些密碼永遠不會暴露。 任何人都可以建議最佳實踐來開發可安全包含此類敏感信息的php代碼。PHP:如何隱藏數據庫連接/電子郵件連接語句的密碼?

回答

4
  • 將配置項在單獨的配置文件,你上面的公共網頁目錄
  • 確認您已經設置正確的文件權限對文件
  • 檢查你的web應用程序的本地(和遠程)文件包含
  • 您的服務器上最新

在一個安全的地方有你的密碼是不完整的解決方案,你需要有你完整的PHP應用程序的安全,沒有人unauthori zed應該能夠獲得對服務器的root /管理員訪問權限。

+1

你可以在你使用它之後也會使用'unset()'敏感信息,只是爲了防止它從被遺忘的'var_dump()'中意外泄漏。 – Matthew 2010-09-20 09:13:25

+0

+1,除非您有RFI/LRI及其PHP文件,否則它將再次執行,而不是打印。另一方面,可以使用mysql FILE權限或更通用的目錄遍歷來讀取它。 – rook 2010-09-20 16:51:51

0

首先,如果可能的話,我會考慮使用OAuth for accessing GMail - 這意味着您根本不必存儲憑證,並在服務器遭到入侵時提供某種級別的保護。

我也看看this question的答案。

最後,如果您的網站位於公共互聯網上,至少應該閱讀互聯網安全基礎知識,尤其是保護網絡應用程序。有各種各樣的方式可能會出錯。我喜歡「黑客暴露」的書籍。

0
  1. 不要在文件中存儲密碼,因爲有人最終會將該文件檢入到源代碼管理中。或者有人會錯誤地設置權限。

  2. 運行有自己的O/S的用戶帳戶

  3. 應用把密碼中的O/S環境變量爲應用程序的用戶(非系統環境變量)