Le but de Django paramètre ‘SECRET_KEY’
Quel est exactement le point de la SECRET_KEY
dans django? J'ai fait quelques recherches sur google et vérifié les docs ( https://docs.djangoproject.com/en/dev/ref/settings/#secret-key ), mais je cherchais une explication plus approfondie de ce, et pourquoi elle est nécessaire.
Par exemple, ce qui pourrait se produire si la clé a été compromise /les autres savaient ce que c'était? Merci.
- Si vous avez une clé secrète, et c'est compromise et communiqués à d'autres personnes, vous avez un problème. Il n'a pas d'importance si vous utilisez Django ou pas.
- Mais quel est le problème exactement?
- J'ai fait une approfondie répondre à here (shameless plug)
- Peut-être que vous devriez écrire une réponse à cette question ainsi. J'imagine que vous pouvez faire beaucoup mieux que la accepté de non-réponse.
Vous devez vous connecter pour publier un commentaire.
Il est utilisé pour la fabrication de tables de hachage. Look:
SECRET_KEY
", par opposition à "votreSALT
est une clé secrète que vous devez garder à vous-même."SECRET_KEY
doivent être sécurisées. L'utilisation de laSECRET_KEY
est beaucoup plus proche de l'utilisation d'une clé dans un signé de hachage comme HMAC (qui, si la performance n'était pas une considération, ne serait probablement être utilisé à la place).La Documentation de Django pour cryptographique de signature couvre les utilisations de l' ‘SECRET_KEY’ définition:
(Cette section est également référencé de la documentation de Django pour le " SECRET_KEY paramètre.)
Le cryptographique de signature de l'API dans Django est disponible à n'importe quelle application de chiffrement sécurisé signatures sur les valeurs. Django lui-même rend l'utilisation de ce dans divers niveau supérieur caractéristiques:
Signature sérialisés données (par exemple, documents JSON).
Jetons uniques pour une session d'utilisateur, mot de passe demande de réinitialisation, messages, etc.
Prévention de cross-site ou les attaques de relecture par l'ajout (et puis attendre) des valeurs uniques à la demande.
La génération d'un unique sel pour les fonctions de hachage.
Donc, de manière générale, la réponse est: Il y a beaucoup de choses dans un Django app qui nécessitent une signature cryptographique, et le " SECRET_KEY’ paramètre est la clé utilisée pour ceux. Il doit avoir un point de vue cryptographique forte quantité d'entropie (dur pour les ordinateurs à deviner) et unique entre tous les Django instances.
SECRET_KEY
paramètres?Selon la Documentation de Django sur
SECRET_KEY
:SECRET_KEY
est en rotation. +1