Что мы должны делать со всеми секретными вещами, такими как пароли или секретные ключи, которые у нас есть в нашем коде?
Самый простой способ и неправильный способ справиться с этими важными учетными данными – это жесткий код в нашем коде. Когда вы подталкиваете код в репозиторий, вы делитесь своими секретными вещами со всеми в вашем проекте. Даже если вы работаете в одиночку, это может вызвать проблемы, поскольку любой, кто видит ваш код, также будет иметь доступ к вашей секретной информации.
Держите их в переменных окружающей среды
Самый безопасный способ обработки ваших секретных ключей/пароля – это сохранять их в переменных среды. В этом посте мы узнаем, как сэкономить важные учетные данные в переменных окружающей среды и получить доступ к ним в сценарии Python.
Чтобы установить пароль или секретные ключи в переменной среды на Linux (и Mac), вам нужно изменить .bash_profile
Файл, который находится в вашем домашнем каталоге. Вы должны открыть терминал и CD в домашний каталог.
$ cd
Теперь откройте .bash_profile
Файл в любом текстовом редакторе по вашему выбору.
$ nano .bash_profile
Нам нужно добавить переменную нашей среды в этот файл. Для этого добавить следующее содержимое в верхней части файла.
export USER="username" export PASSWORD="password"
Примечание: не должно быть никаких пробелов по обе стороны от =
знак.
Сохраните файл NANO, нажав CTRL + X и Y. Теперь используйте следующую команду, чтобы внести изменения.
$ source .bash_profile
Использование отдельного файла .env
Вышеупомянутый метод сохраняет секретные учетные данные по всей системе, что может быть не хорошей идеей, если у вас есть несколько приложений.
Решение состоит в том, чтобы хранить секреты в отдельном .env
файл. Файл DOTENV содержит только текст, где он имеет одно назначение переменной среды на строку. Создать .env
файл в ваш проект и добавьте свой секрет
USER=username PASSWORD=password
ВАЖНО:
Обязательно добавьте его в свой файл .gitignore.
Теперь вам нужно установить Python-Dotenv
упаковка. Python-Dotenv
это пакет Python, который позволяет вашему приложению Python читать .env
файл. Этот пакет будет искать .env И если он найдет один, выставит в нем переменные переменные.
$ pip install -U python-dotenv
Чтобы сохранить пароли и секретные ключи в переменных среды в Windows, вам нужно будет открыть настройку предварительной системы.
Вы можете перейти к Панель управления> Система и безопасность> Система
Теперь в будущем Настройка Нажмите на Переменные среды .
Здесь мы можем добавить новые пользовательские переменные и новые системные переменные. Мы добавим пользовательскую переменную, нажав Новый Под пользовательскими переменными.
В новом окне вы можете добавить Имя переменной
и Переменное значение
и нажмите ОК. Теперь нажмите ОК Переменные среды
окно, чтобы сохранить изменения.
Чтобы получить доступ к этим переменным в нашем сценарии Python, нам необходимо импортировать модуль ОС. Мы можем сделать это, используя os.environ.get ()
Метод и передача ключа, к которому мы хотим получить доступ.
Если вы используете .python-dotenv
Метод вам нужно добавить пару строк в начале вашего приложения.
от dotenv import load_dotenv
load_dotenv ()
В случае проекта Django вы должны добавить вышеупомянутый сценарий в верхней части wsgi.py
и Manage.py
файл.
from dotenv import load_dotenv #for python-dotenv method load_dotenv() #for python-dotenv method import os user_name = os.environ.get('USER') password = os.environ.get('password') print(user_name, password) # output username password
Оригинал: “https://dev.to/biplov/handling-passwords-and-secret-keys-using-environment-variables-2ei0”