我似乎無法就此獲得直接答案,所以希望有人能提供幫助。在PHP腳本中保護MySQL密碼
如果我在我的PHP腳本中包含mysqli_connect()
聲明並且還包含我的MySQL用戶名和密碼,那麼這些細節在任何時候都會受到攻擊?顯然,PHP托架之間的任何東西都不會在客戶端提供(因此,在查看源代碼時不應該可見),但是有沒有其他方式可以泄露這些細節?
我似乎無法就此獲得直接答案,所以希望有人能提供幫助。在PHP腳本中保護MySQL密碼
如果我在我的PHP腳本中包含mysqli_connect()
聲明並且還包含我的MySQL用戶名和密碼,那麼這些細節在任何時候都會受到攻擊?顯然,PHP托架之間的任何東西都不會在客戶端提供(因此,在查看源代碼時不應該可見),但是有沒有其他方式可以泄露這些細節?
如果由於某種原因,PHP突然無法工作(由於升級,損壞的配置文件,例如),這些文件可能會作爲HTML提供,並且登錄信息將免費提供給任何站點的用戶。我之前看到過這種情況。
解決此問題的最佳方法是將所有內容從網絡根移除,但index.php
文件只包含目錄之外的一個文件。這也意味着你的源代碼不會受到影響,假設PHP不起作用。
E.g. /var/www/public_html
只保存一個文件:index.php
:
<?php require("../entrypoint.php");
然後一切位於/var/www
。如果PHP失敗,只有index.php
將被泄密。
這將使它非常安全,除非您的服務器本身受到威脅,或者您允許用戶執行PHP代碼,但這是另一個問題。在連接初始化後,大多數模塊化CMS也會取消設置所有連接變量,以避免其中一個模塊意外暴露任何內容。
可能重複的[如何在PHP中保護數據庫密碼?](http://stackoverflow.com/questions/97984/how-to-secure-database-passwords-in-php) – 2012-01-29 12:13:16
上面的鏈接問題解決了它相當徹底。如果您的服務器管理員損壞,或者您的Web服務器配置錯誤,並意外地將PHP腳本作爲純文本或HTML提供服務,那麼您的密碼將受到損害的唯一方法。 – 2012-01-29 12:14:39
謝謝你的擡頭。 – Ryan 2012-01-29 12:17:52