2011-02-24 23 views
3

我正在使用GAE來運行我的應用程序。我的應用程序使用密碼來連接外部服務。 目前我將此密碼存儲在屬於源代碼的自由文本屬性文件中。 原因我在git-hub中共享我的資源我的密碼暴露了Google App Engine - 如何防止密碼泄露

有沒有辦法在GAE配置/環境(使用管理員門戶)或類似的東西中存儲這種敏感信息。 我想我可以在數據存儲莫名其妙存儲,但是我正在尋找簡單的東西像heroku ENV solution

回答

5

保持一個獨立的,.gitignore「d,無版本的有你的密碼在它的文件(說‘private.py’) 。然後,將帶有佔位符值的此文件的示例版本添加到您的版本源(例如「private.py.sample」)。

+0

這就是我做它來管理用於接觸一些第三方的API – systempuntoout

+0

的事實是,情況比較複雜的私有API密鑰的方式:我們是2名開發人員使用此git倉庫。所以我想我們都有相同的來源(使用.gitignore在協作時有點問題)。我希望我的GAE會支持應用程序配置 –

+2

你不會經常改變你的外部服務密碼嗎?給其他開發者提供一個文件的副本,只需要輸入密碼,讓他們擁有'.gitignore',並且你可能永遠都不需要再次觸摸那個文件。 *不要*將密碼放在與其他配置選項相同的代碼文件中。 – Amber

1
class AppConfig(db.Model): 
    pass = db.StringProperty() 

# ... 
cfg = AppConfig.get_by_key_name("MyFirstApplication") 
if cfg is None: 
    cfg = AppConfig(key_name="MyFirstApplication") 
    # this is initial run - request pass from user 
    cfg.pass = userInput 
    cfg.put() 
# here you can use your cfg.pass