2017-07-31 4 views
0

私は自分のウェブサイトにフォームを持っていて、それが提出されると、自分のメールボックスにメールを送ります。Djangoで自分のメールパスワードをより安全に保護

私の問題は、そうすることで、私はこのような私のsettings.pyに私の電子メールとパスワードをハードコード:

EMAIL_HOST_USER = '[email protected]' 
EMAIL_HOST_PASSWORD = 'mypassword' 

が、私はそれが全く確保されていないことを感じるので、私はしてみてください私のsettings.pyにハードコードされないようにする方法を見つけてください。私の秘密鍵の保管方法に基づいて、私は次のことを試しました:

with open('/Users/myapp/email.txt') as f: 
    EMAIL_HOST_USER = f.read().strip() 

with open('/Users/myapp/email_password.txt') as f: 
    EMAIL_HOST_PASSWORD = f.read().strip() 

しかし、それはうまくいきませんでした。 SMTPエラーが発生します。「ユーザー名とパスワードは受け入れられません」

パスワードをよりよく保護する方法について教えてください。

+1

https://stackoverflow.com/documentation/django/942/settings/3580/using-environment-variables-to-manage-settings-across-servers#t=20170731135538​​1466534 – Sayse

+0

https://stackoverflow.com/documentation/django/942/settings/8734/hidden-secret-data-a-json-file#t = 201707311355493139207 – Sayse

答えて

1

あなたは環境変数を使用して、のようなあなたの設定でそれを読んでください。そして、あなたはあなたのレポのうちの値を維持することができ

import os 
EMAIL_HOST_USER = os.environment.get('EMAIL_HOST_USER') 

環境要件は、Djangoを実行しているプロセスで有効である必要があります。

+0

これはうまくいくようです!あなたはそれがtxtファイルから読み込むよりも安全だと思いますか?私の秘密鍵を保存するためにこのテクニックを使用するようにしてください。 –

+0

必ずしも安全ではないが、管理が簡単です。 –

関連する問題