Права доступа в GitGram. Не баг а фича
Ребята, многие хейтят эту задумку про GitGram, мол это бред и никто не будет его юзать и тд.
Может быть, но мне похер, это эксперимент!
Поэтому просьба,если вам не нравится эта затея, пожалуйста, просто пролистайте дальше.
Решил перед релизом добавить нормальную защиту — чтоб никто в чужой проект не залез, не удалил файлы, не накоммитил говна.
Открываю код, начинаю пилить проверки в /commit, /rm, /branch, /checkout...
И тут меня осеняет:
ДА ОНИ ЖЕ УЖЕ РАБОТАЮТ, СУКА!
С самого начала. Без единой лишней строчки.
Почему так вышло:
Всё просто — проекты привязаны к owner_id в базе. Я это сделал просто потому что "логично", чтоб не было бардака. А оказалось — это и есть та самая защита.
Все запросы сами фильтруются по owner_id: /list — только мои проекты /use чужой — "Проект не найден" /commit, /rm, /branch — даже не доходят до выполнения, потому что проект чужой не выбрать
Протестил с другого акка:
/list — вижу только свои проекты
/use мой_проект — ❌ "Проект не найден"
/commit — бот даже не пытается, потому что проекта нет
Итог: хотел безопасность — а она уже была вшита в архитектуру с первого дня.
Такая вот "не баг, а фича" вышла. Иногда самый простой дизайн — самый крепкий.
Скоро релиз Гитграмма, следите на канале
Вся кухня в sandbox — заходи смотреть в реалтайме: @sandbox_hardcore
Ребята, многие хейтят эту задумку про GitGram, мол это бред и никто не будет его юзать и тд.
Может быть, но мне похер, это эксперимент!
Поэтому просьба,если вам не нравится эта затея, пожалуйста, просто пролистайте дальше.
Программирование на python
1K постов12K подписчиков
Правила сообщества
Публиковать могут пользователи с любым рейтингом. Однако!
Приветствуется:
• уважение к читателям и авторам
• конструктивность комментариев
• простота и информативность повествования
• тег python2 или python3, если актуально
• код публиковать в виде цитаты, либо ссылкой на специализированный сайт
Не рекомендуется:
• допускать оскорбления и провокации
• распространять вредоносное ПО
• просить решить вашу полноценную задачу за вас
• нарушать правила Пикабу