为什么Google认为Django是一个 "不太安全 "的应用?

问题描述 投票:4回答:1

为什么谷歌认为一个请求 从我的Django应用程序 通过SMTP(smtp.gmail.com)发送邮件不安全?看了他们的 安全标准 是没有太大帮助的。

更安全的应用如何帮助保护你的账户 当第三方应用符合我们的安全标准时,你就可以。

在连接您的谷歌账户之前,查看您给予应用程序的账户访问级别 让应用程序只访问您的谷歌账户的相关部分,如您的电子邮件或日历 将您的谷歌账户连接到应用程序,而不暴露您的密码 随时断开您的谷歌账户与应用程序的连接。

这是一个非常常见的问题,当从Django发送电子邮件时。有 教程stackoverflow问题答案 (第二个答案),"解决 "这通过改变设置在您的谷歌帐户,以允许不太安全的应用程序。我有这个工作,是确定的,直到我读到这个从 控制对不太安全网站的访问:

因为谷歌开始关闭谷歌账户对不太安全的应用程序的访问,执行选项不再可用。我们建议现在关闭不太安全的应用程序访问。你应该开始使用安全级别较低的应用程序的替代品。

随着谷歌逐渐不再允许安全性较低的应用程序访问谷歌账户,您将收到有关影响您的变化的电子邮件通知。

当我试着搜索 "如何让Django在Google中变得安全 "或者 "为什么Django在Google看来是一个不安全的应用 "时,我看到的结果更多的是相同的指导:只要打开开关,允许不安全的应用进入你的Google账户。我想知道为什么Django会被认为是不安全的,这样的话 也许 我可以把它配置成安全的。

EDIT: 我仍然没有验证这些步骤是否能让Django成为一个 "更安全的应用"。在这之前,我还没有验证这些步骤是否能让Django成为一个 "更安全的应用"。使用应用程序密码 允许我关闭 "允许不那么安全的应用程序"。它的实现非常简单。

python django email gmail gsuite
1个回答
2
投票

不是Django不安全,可能是你使用SMTP发送邮件的方式不安全。启用TLS是首先要做的事情,也是连使用Google的SMTP服务都需要的。

EMAIL_USE_TLS = True
EMAIL_PORT = 587

端口号取决于你使用的SMTP服务。587是标准的,但也可能是其他的端口。

接下来是设置 SPFDKIM.

亚马逊的 SES (Simple Email Service,不是免费的)让这个几乎是透明的。

此外,你可以设置 DMARC 它提供了关于你的设置有效性的反馈。

Django有一个DKIM包。https:/pypi.orgprojectdjango-dkim 来帮助你手动设置。

另外,还有一个Django 2和Python 3的DMARC包。https:/pypi.orgprojectdjango-dmarc2。 (我对原来的包做了一些修正,使其与Django 2+兼容)

SPF应该设置在你的DNS上。

有了这一点,应该会使你的电子邮件安全。

© www.soinside.com 2019 - 2024. All rights reserved.