[英]“Correct” way to store postgres password in python website
我正在用Python編寫一個Web應用程序(在Linux系統上的Apache服務器上),需要連接到Postgres數據庫。 因此,它需要數據庫服務器的有效密碼。 在我的Python文件中硬編碼密碼似乎相當不令人滿意。
我確實想知道使用.pgpass文件,但它需要屬於www-data用戶,對嗎? 默認情況下,沒有/ home / www-data目錄,這是我希望存儲.pgpass文件的位置。 我可以創建這樣的目錄並將.pgpass文件存儲在那里嗎? 如果沒有,那么啟用Python腳本連接數據庫的“正確”方法是什么?
無論您使用何種方法,以www-data
運行的其他應用程序都可以讀取您的密碼並在您登錄數據庫時登錄。 使用peer
auth不會幫助你,它仍然會信任在www-data
下運行的所有應用程序。
如果您希望應用程序能夠將其數據與其他數據庫隔離,則需要將其作為單獨的用戶ID運行。 這方面的主要方法是:
其中,目前最好的選擇通常是使用scgi / fcgi。 它允許您以不同的unix用戶輕松運行您的應用程序,但避免了反向代理的復雜性和開銷。
將應用程序及其配置文件安裝在與靜態文件目錄不同的自己的目錄中,並且只能由應用程序用戶讀取。
設置另一個用戶來運行應用程序並使用WSGIDaemonProcess指令。
mod_wsgi站點 , 快速配置指南 , 配置指南和配置指令中清楚地描述了所有這些以及更多內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.