Size: a a a

2020 November 08

ЕП

Евгений Петров... in aiogram [ru]
Tishka17
Фактически, любой кто имеет доступ к правке config.py может в твоего бота внедрить любой код. Это не всегда ок
Да, безусловно. Поэтому я и говорю про запуск из-под отдельного юзера. Но это уже в целом проблема защиты сервера, а не бота
источник

🤔T

🤔 Thoughtful in aiogram [ru]
А все таки вариант с переменными среды в итоге вообще не рассматривался?
источник

T

Tishka17 in aiogram [ru]
🤔 Thoughtful
А все таки вариант с переменными среды в итоге вообще не рассматривался?
+
источник

T

Tishka17 in aiogram [ru]
Их как правило проще всего прокинуть
источник

T

Tishka17 in aiogram [ru]
Да и для них есть всякие хранилища секретов
источник

<Юрий> 👨‍🔬 Чеб... in aiogram [ru]
Tishka17
Такие же как в хмл
ого, у yaml есть уязвимости?
источник

ЕП

Евгений Петров... in aiogram [ru]
🤔 Thoughtful
А все таки вариант с переменными среды в итоге вообще не рассматривался?
Всё хорошо, покуда у тебя в конфиге булевы значения или строки. Я поэтому и прошу: дайте посмотреть реальный пример, кто как реализует))
источник

ЕП

Евгений Петров... in aiogram [ru]
У меня пока получается говно, к сожалению. Что с ini, что с config.py

yaml потыкал отдельно, но там сразу хочется порождать класс из конфига, и начинается веселье
источник

🤔T

🤔 Thoughtful in aiogram [ru]
Евгений Петров
Всё хорошо, покуда у тебя в конфиге булевы значения или строки. Я поэтому и прошу: дайте посмотреть реальный пример, кто как реализует))
В смысле, ты в коде можешь задать тип, когда берёшь из окружения
источник

ЕП

Евгений Петров... in aiogram [ru]
🤔 Thoughtful
В смысле, ты в коде можешь задать тип, когда берёшь из окружения
Могу, да. Но, например, для массивов придётся писать отдельный код, делать split() и прочее. Потому что переменные окружения — тупо строки
источник

🤔T

🤔 Thoughtful in aiogram [ru]
Евгений Петров
Могу, да. Но, например, для массивов придётся писать отдельный код, делать split() и прочее. Потому что переменные окружения — тупо строки
Нужен конфигпарсер для переменных среды)
источник

ЕП

Евгений Петров... in aiogram [ru]
В идеале, повторюсь, хорошо бы использовать стандартный ConfigParser, который уже включен в stdlib.
Вчера даже клёвый пример видел с lazy load и синглтоном.
https://stackoverflow.com/a/58907935/2032848

upd: там очень криво выглядит взятие конфига как числа, например
источник

ЕП

Евгений Петров... in aiogram [ru]
Как вы организуете файл конфигурации в своих ботах?
Анонимный опрос
40%
Переменные окружения (.env и др.)
37%
Просто файл типа config.py
5%
Хранилища секретом (Vault и др.)
5%
ini-файлы (configparser)
12%
YAML, JSON, XML...
2%
Другой вариант
Проголосовало: 43
источник

T

Tishka17 in aiogram [ru]
Как связаны переменные окружения и .env?
источник

🤔T

🤔 Thoughtful in aiogram [ru]
Так как все боты у меня живут в докере, то просто в CI/CD задаю переменные среды, и потом кто скопирует репу сможет сделать тоже самое посмотрев конфиг файл
источник

ЕП

Евгений Петров... in aiogram [ru]
Tishka17
Как связаны переменные окружения и .env?
Потому что содержимое этого файла становится env variables для приложения, не?
источник

T

Tishka17 in aiogram [ru]
Евгений Петров
Потому что содержимое этого файла становится env variables для приложения, не?
Нет
источник

ЕП

Евгений Петров... in aiogram [ru]
Tishka17
Нет
источник

N

Nack Nime | #2o2o in aiogram [ru]
Tishka17
Как связаны переменные окружения и .env?
потому что .env это стандарт
а так то да, вопрос верный, ибо я могу и в ebat.mozgi.etogo.casino прописать переменные и сделат source ebat.mozgi.etogo.casino
источник

T

Tishka17 in aiogram [ru]
Nack Nime | #2o2o
потому что .env это стандарт
а так то да, вопрос верный, ибо я могу и в ebat.mozgi.etogo.casino прописать переменные и сделат source ebat.mozgi.etogo.casino
Стандарт чего?
источник