2011-06-09 141 views
0

這些腳本需要什麼權限才能讓網站用戶獲得功能,但無法在腳本中讀取密碼?如何保護包含數據庫密碼的PHP腳本?

+0

你的數據庫配置是在.inc文件中? – fvox 2011-06-09 18:56:12

+0

只要你的服務器不會意外地以純文本的方式爲你的PHP腳本提供服務...... – BoltClock 2011-06-09 18:56:32

+0

也,我不明白如何批准一個好的答案...我想給人們信用,但我不知道按什麼按鈕或任何...這個網站很混亂 – Timtam 2011-06-09 18:56:35

回答

4

將配置文件存儲在文檔根目錄之外是個好主意,以防萬一您的web服務器或php發生故障並吐出原始文本(注意:這是非常不可能的)。

但是,導航到您的網站的用戶通常無法讀取您的PHP腳本的內容。

+1

不像所有那麼不可能 - 看看最近Tumblr發生了什麼 – 2011-06-09 18:59:17

+1

好點。這就是爲什麼在某些情況下將敏感信息存儲在文檔根目錄以外的地方總是一個好主意。 – 2011-06-09 19:01:44

+1

很好的答案。你應該保持至少配置文件,最好是你的大部分代碼在你的文檔根目錄之外。 – GolezTrol 2011-06-09 19:02:10

0

假設他們在網絡目錄中,導航到文件只會導致他們的輸出顯示給用戶,所以他們將是安全的,無需您設置特殊權限。如果該目錄可以通過其他方式訪問(例如ftp),則可能需要重新考慮爲什麼允許用戶訪問該目錄中的文件。

0

創建一個文件/路徑/到/祕密的東西,只有root可以讀取(根,沒有人或Apache)

SETENV DB_USER 「myuser的」 SETENV DB_PASS 「爲mypass」

包含該文件到阿帕奇

的配置目錄或包含到httpd.conf中與

包含「/路徑/到/祕密的東西」

0

第一個建議是密碼應該被加密。訪問密碼文件的攻擊者無法找到您的加密方法(即分析您的PHP源代碼)將無法使用它。

但是,如果您無法存儲在一個安全的地方密碼,另一種選擇是配置最大限制數據庫服務器和放棄的密碼: - 只能從網絡服務器 登錄 - 不能改變模式 - 可以僅最終使用1個數據庫 : - 無法刪除記錄 - 無法更新記錄 - 僅限於必要的表。 - 每秒請求數量的限制。

這比通用用戶的登錄通行證要安全得多,該通行證用戶可以完全控制服務器上的任何數據庫並從局域網上的遠程位置或其他計算機進行連接。