Защити свои аккаунты, секретные ключи и свою машину несколькими простыми привычками, которые останутся с тобой надолго.
Открыть этот урок в KodokonНе нужно ждать, пока станешь экспертом, чтобы себя защитить. Уже с первой недели ты работаешь с чувствительными вещами: почтовый ящик, аккаунт на платформе для кода, иногда ключи доступа к платным сервисам. Несколько привычек, взятых сейчас, избавят тебя от очень конкретных неприятностей позже - например, от счёта на несколько сотен евро, накрученного по украденному ключу.
Начни с аккаунтов. Разный пароль для каждого сервиса, лучше длинный, чем сложный: фраза из четырёх необычных слов надёжнее вывернутого слова из восьми символов. Пользуйся менеджером паролей, чтобы вообще ничего не запоминать. Затем включи двухфакторную аутентификацию, для начала на двух аккаунтах: почта и аккаунт для кода. Это ключи от королевства, потому что через них можно сбросить все остальные.
Дальше идёт вопрос секретов в коде. Секрет - это ключ API, пароль от базы данных или токен доступа: строка символов, которая доказывает, что это именно ты. Правило абсолютное: секрет никогда не пишется прямо в файле с кодом. Ты хранишь его в файле .env, который остаётся на твоей машине, и добавляешь этот файл в .gitignore, чтобы он никогда не ушёл в интернет.
# .env: остаётся на твоей машине, никому не передаётся
API_KEY=secret_key_do_not_publish
DB_PASSWORD=local_password
# .gitignore: говорит Git игнорировать эти пути
.env
node_modules/И наконец, относись с осторожностью к командам, найденным в интернете. Никогда не запускай строку, которую не понимаешь, особенно если она начинается с sudo: это слово означает «с правами администратора», то есть власть изменить или стереть на машине что угодно. Та же осторожность с установочными скриптами, которые скачивают и запускают одним движением.
# Так лучше не делать: запускается, а ты ничего не прочитал
curl https://example.test/install.sh | bash
# Лучше: скачать, прочитать, а потом решать
curl -o install.sh https://example.test/install.sh
less install.sh
bash install.sh.env, исключённом из репозитория через .gitignoresudo?