3 способа скрыть свои учетные данные
Теперь, когда я работаю в компании по обеспечению облачной безопасности, я начал формировать мышление безопасности и понимаю, насколько важно для всех нас играть незаменимую роль в защите бизнеса от кибератак. Кибербезопасность важнее, чем когда-либо прежде, особенно с учетом того, что многие из нас работают из дома из-за COVID19! Мы действительно не должны недооценивать силу хакеров. Когда я был подростком, мои учетные данные в социальных сетях были украдены несколько раз только потому, что я загружал вложения или нажимал на эти фишинговые ссылки в электронных письмах. Я очень надеюсь, что с тобой такого никогда не случится!
Фактически, согласно исследованию, над которым ранее работал мой коллега Остин Макбрайд, после пандемии число фишинговых атак значительно увеличилось. Нам действительно нужно более серьезно относиться к кибербезопасности. Некоторые боты могут украсть и украдут ваши ключи в тот момент, когда вы отправите свой код в публичный или частный репозиторий GitHub. Давайте начнем с сокрытия ваших учетных данных и избежания случайной утечки конфиденциальных данных с помощью проверки кода на Github. В этом блоге я расскажу о 3 способах скрыть свои учетные данные в записной книжке Jupyter и переменных среды на Mac. Давайте нырнем!
1. Настройте переменные среды
Это, вероятно, самый простой способ обработки ваших учетных данных. Этот файл находится в домашнем каталоге и по большей части скрыт. Настроив ваши учетные данные в файле .bash_profile
, мы можем постоянно объявлять ваши пароли. Чтобы установить пароли или секретные ключи на Mac, мы сначала cd
в ваш домашний каталог, а затем откроем редактор файлов с помощьюnano .bash_profile
command.
Открыв файл, введите свои учетные данные и нажмите ^X + Y
, чтобы сохранить файл. Обновите профиль bash с помощью source .bash_profile
command, и теперь вы можете перезапустить записную книжку Jupyter и проверить, работает ли это.
$ cd ~ $ nano .bash_profile $ source .bash_profile
Затем откройте записную книжку Jupyter и загрузите пакет ОС с помощью этой import os
команды. Этот модуль ОС позволяет Python использовать переменные среды вашей операционной системы.
# for testing importos print(
os.environ['USER'])print(
os.environ['PASSWORD']
2. Использование файла .env
🔺STEP 1: Install and Create a .env file $ ! pip install python-decouple $ nano .env 🔺STEP 2: Add the following lines in the script
from decouple import config USER = config('Insert Your Username') PASSWORD = config('Insert Your Password')
🔺STEP 3: Hide your .env file on Github $ touch .gitignore $ vim .gitignore
Начнем с установки модуля python-decouple. После этого создайте .env
файл. ** Обратите внимание, что этот файл должен всегда находиться в корневом каталоге папки проекта. ** Вы можете ввести nano .env
в терминале, что создаст окно, подобное тому, которое мы видел ранее, или вы можете создать новый текстовый файл в этом месте и сохранить его как .env
. Затем сохраните свои учетные данные в этом .env
файле. Наконец, что наиболее важно, исключите файл .env
, содержащий учетные данные, при отправке вашего кода в Github. Последнее, что мы хотим видеть, - это небезопасная передача паролей через Интернет. Команда touch - самый простой способ создать новые пустые файлы, если файл еще не существует.
Для целей этого руководства мы создадим файл .gitignore
с помощью touch .gitignore
command. Затем откройте этот .gitignore
файл, позвонив vim .gitignore
. Теперь мы можем добавить .env или URL-адрес, который Github должен игнорировать. Просто добавив внутрь этого .gitignore
файла (введите i
для INSERT и введите .env и URL-ссылку в следующей строке, затем:wq
для сохранения и выхода), мы теперь исключаем все файлы в корневом каталоге с расширением .env
из фиксации. репозиторий.
3. Использование dotenv
Допустим, вы хотите постоянно обновлять this.env
файл, но не хотите обновлять его через терминал. Тогда это идеальное решение для вас.
Сначала найдите папку «Автозагрузка». Файлы запуска IPython расположены в следующем каталоге: ~/.ipython/profile_default/startup
. * Обратите внимание, что файлы .py и .ipy в этом каталоге будут запускаться до любого кода или файлов, указанных в параметрах exec_lines или exec_files, настраиваемых при каждой загрузке этого профиля. *
Затем мы создадим два файла (один с .env
, а другой с расширением.py
). Точно так же мы поместим все пароли в файл .env
.
USER = XXX
PASSWORD = XXX
Теперь давайте добавим следующие строки в .py
файл. Внутри этого файла .py мы импортируем модули dotenv
и os
и указываем путь к .env
файлу, который вы только что создали. load_dotenv
будет использоваться для загрузки .env
файла, а os
будет использоваться для ссылки на эти переменные среды в коде.
from dotenv import load_dotenv load_dotenv() import os env_path='/Users/xxxx/.ipython/profile_default/startup/xxx.env' load_dotenv(dotenv_path=env_path) USER=os.getenv('USER') PASSWORD=os.getenv('PASSWORD') # for testing print(USER)
Вуаля! Вы успешно настроили переменные среды и скрыли конфиденциальную информацию в Python. 🎉🥳
Последние мысли
Если ваш код содержит какие-либо учетные данные для входа, информацию о подключении к базе данных, токены API и т. Д., Давайте удалим их и сохраним в вашем файле .env. Как видно из вышеизложенного, это не займет много времени. Так зачем ждать?
Если вы знаете какие-либо другие методы, оставьте, пожалуйста, комментарий ниже. Я бы хотел узнать больше 😉
Если вы найдете это полезным, подпишитесь на меня и просмотрите другие мои блоги. Следите за новостями! ❤