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

2024-04-25 23:07:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个flask应用程序,我想在一个表中添加所有常量,包括我的应用程序的email常量,并从那里访问它们。
我们可以这样做吗?这是一个好方法吗?
或者有没有更好的替代方案,而不是有证书纯文本。你知道吗


Tags: 方法文本应用程序flaskemail方案证书常量
1条回答
网友
1楼 · 发布于 2024-04-25 23:07:15

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

案例1:

您不希望密码在配置文件中清晰可见。你知道吗

案例2:

您的代码可能在公共域中,您不希望API密钥和密码可见。你知道吗

案例3:

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

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

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

`

在案例2中:

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

其中有一个配置.py不需要在版本控制中添加

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

在上使用实例配置.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时不需要身份验证,这样就不需要在配置文件或环境中存储凭据。你知道吗

希望对你有帮助

和平

相关问题 更多 >