使用django-admin startproject我的settings.py包含创建一个新项目后:
SECRET_KEY = 'django-insecure <actual secret key>'
Run Code Online (Sandbox Code Playgroud)
我以前从未在密钥中看到“django-insecure”。这是什么意思?
\n\n为什么自动创建的密钥不安全?似乎比人类的关键思想安全得多。
\n
它是使用众所周知的过程从熵源生成的,其质量和安全性无法得到保证(由 Django 提供)。这是表面上的原因;请参阅https://docs.djangoproject.com/en/3.2/ref/checks/#security
\n\n\n\n
security.W009:您的SECRET_KEY字符少于 50 个,少于 5 个唯一字符,或者 it\xe2\x80\x99s 前缀表示\'django-insecure-\'它是由 Django 自动生成的。请生成一个长且随机的SECRET_KEY,否则 Django\xe2\x80\x99s 的许多安全关键功能将容易受到攻击。
更重要的是,任何密钥的安全性取决于文件系统的访问控制机制。Django 设置文件是寻找密钥的明显位置。
\n将密钥保存在加密安全的密钥库或HSM中,然后通过环境变量将其密钥传递给 Django 会更安全;请参阅在哪里存储密钥 DJANGO。
\n而且,无论您如何管理它们,您都应该使用您控制的硬件和您可以 100% 信任的机制 + 熵源自行生成密钥。(如果您不知所措,请考虑掷一些骰子作为随机数字的来源。)
\n| 归档时间: |
|
| 查看次数: |
1217 次 |
| 最近记录: |