Reddit Python Bot, почему небезопасно хранить учетные данные для входа в скрипт?

Я следую этому уроку: http://pythonforengineers.com/build-a-reddit-bot-part-1/ и в подразделе " Создание приложения Reddit" говорится, что у меня не должно быть никаких учетных данных для входа непосредственно в сценарий, потому что "другие могут их видеть".

Теперь вам нужно обновить файл praw ini, чтобы запомнить эти настройки. В противном случае вам придется поместить их в свой сценарий, и это опасно (как могут их видеть другие).

Мой скрипт загружается в Reddit, где он может быть прочитан другими людьми? Если нет, то почему это небезопасно?

1 ответ

Решение

Если вы разрабатываете этого бота только в качестве доказательства концепции и всегда запускаете его с компьютера, на котором разрабатываете его, существует небольшой риск утечки ваших учетных данных. Однако большая часть кода не живет так, как одна копия только в одной системе. Подавляющее большинство передовых методов разработки современного программного обеспечения основано на предположении, что разные компьютеры будут разрабатывать код, хранить версии кода и фактически запускать код.

Если вы жестко закодируете свои учетные данные для входа в свой сценарий входа в систему и запускаете его только со своего компьютера, это не будет проблемой. Что если вам понадобится помощь в отладке вашего бота? Что если вы действительно гордитесь этим и хотите похвастаться этим? Что если вы хотите сохранить резервную копию в другой системе? Что если вы не хотите, чтобы он работал на том же компьютере, на котором вы его разработали? Внезапно код, содержащий ваши учетные данные, становится доступным для нескольких компьютеров. Чем больше систем в вашем коде, тем легче будет кому-то получить к ним доступ. Вот почему лучше всего разрабатывать программное обеспечение, а не секреты жесткого кода, такие как учетные данные для входа в систему, в сценариях или коде.

В случае с учебником, которому вы следуете, они инструктируют вас запускать код на виртуальной машине и использовать git для управления исходным кодом. Как только вы введете свои учетные данные в git, они всегда будут частью истории git этих репозиториев. Если вы когда-либо размещаете свои репозитории в удаленной системе, такой как GitHub, ваши учетные данные будут храниться в системе вне вашего контроля.

Другие вопросы по тегам