Рубрики
Без рубрики

Django Cheat Lield: сохранить учетные данные в безопасности с переменными среды

Как использовать переменные среды, чтобы сохранить защищенные ключи из вашего кода. Помечено Python, обучение, начинающие, WebDev.

TL; доктор Жесткие кодирующие значения конфигурации и учетные данные удобны, но делает ваш код менее безопасным и менее портативным. Используйте переменные среды, чтобы сделать ваш код более безопасным и простым в развертывании в разных средах.

Плохой:

TWILIO_SECRET_KEY = "iamverysneaky"
twilio_client = Twilio(key=TWILIO_SECRET_KEY)

Проблема: если кто-то получил доступ к вашему коду, теперь у них есть доступ к вашей учетной записи Twilio! Две проблемы по цене одного!

Хороший:

from dotenv import load_dotenv

load_dotenv()

twilio_client = Twilio(key=os.getenv("TWILIO_SECRET_KEY"))

Если кто-то получит доступ к вашему коду, по крайней мере, ваша учетная запись Twilio (и данные пользователя!) Все еще безопасна.

Чтобы проиллюстрировать, как это работает, мы переместим автогенерируемые Secret_key Значение из settings.py и в переменной среды.

Из этого:

SECRET_KEY="thisismyunsecuredsecretkey"

К этому:

SECRET_KEY=os.getenv("DJANGO_SECRET_KEY")

Делать эти вещи:

  1. Загрузите пакет дотенва.

  2. Создать файл с именем .env.env. в том же каталоге, что и settings.py. .

  3. Добавьте .env Файл к вашему .gitignore. . Это самый важный шаг до нашей эры, он сохраняет .env.env. , а также Таким образом, ваши секретные значения, вне контроля версий/Git.

  4. Добавьте значения конфигурации и учетные данные на .env.

  5. Импорт и загрузка Операционные системы и Доценв в settings.py Отказ Это делает значения доступными.

  6. Заменить оригинал Secret_key Значение с переменной средой.

  7. Выгода! Не вдаваясь, что ваши пользователи не получают подальше от того, чтобы их данные были украдены. ГДПР доброта!

Оригинал: “https://dev.to/jamestimmins/django-cheat-sheet-keep-credentials-secure-with-environment-variables-2ah5”