如何将电子邮件常量添加到表格中或在Flask应用程序中安全使用?

时间:2016-03-24 07:24:19

标签: python flask

我有一个烧瓶应用程序,我希望将所有常量(包括我的应用程序的电子邮件常量)添加到表格中并从那里访问它们。
我们可以这样做吗?这是一个很好的方法吗? 或者是否有更好的替代方案,而不是凭证明文。

1 个答案:

答案 0 :(得分:1)

如果我错了你提出这个问题的原因,请纠正我:

案例1:

您不希望您的密码在配置文件中清晰可见。

案例2:

您的代码可能属于公共领域,并且您不希望自己的API密钥和密码可见。

案例3:

在生产环境中,config.py不应该是易受攻击的,因为它将密码存储为纯文本。

案例1: 您可以将凭据存储在环境变量中 `

MAIL_USERNAME = os.environ.get('MAIL_USERNAME')
MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD')

`

案例2:

您可以在Flask中使用Instance folder的概念

你将拥有一个私有的config.py实例,你不需要在版本控制中添加

config.py
requirements.txt
run.py
instance/
  config.py
yourapp/
  __init__.py
  models.py
  views.py
  templates/
  static/

在config.py上使用实例

app = Flask(__name__, instance_relative_config=True)
app.config.from_object('config')
app.config.from_pyfile('config.py')

请参考this,我们会深入了解。

案例3:引用this thread

生产服务器的一个好解决方案是托管邮件代理,例如sendmail或postfix,或者使用第三方电子邮件服务。如果您在Flask应用程序所在的主机上托管邮件代理,则可以将其配置为在客户端来自localhost时不需要身份验证,这样就无需在配置文件或环境中存储凭据。

希望它可以帮助你

和平