Trit
Июнь 21, 2017 09:11:34
Добрый день!
Я начинающий разработчик, написал сайт-резюме и хочу дать в нем ссылку на исходный код на Гитхабе. Не будет ли это угрожать безопасности сайта?
FishHook
Июнь 21, 2017 09:23:56
Можете пояснить, что вы имеете в виду под “безопасностью сайта”?
Trit
Июнь 21, 2017 11:12:21
Плохо представляю, что это такое, если честно. В документации советуют отключать режим отладки при запуске проекта, потому что иначе всем будет доступен исходный код, информация о переменных и т.д. Значит, это опасно?
Вряд ли кто-нибудь захочет взламывать мой сайт и вредить пользователям или серверу, но не хочется совершить совсем грубую ошибку и оставить такую возможность: все-таки это сайт-резюме.
FishHook
Июнь 21, 2017 11:54:33
Trit
Смотрите, вы наваяли сайт на Джанге. Сама Джанга доступна в исходниках. Понятно, что если уязвимости есть в коде самого фреймворка, то злоумышленнику ваш код не нужен. Тут вопрос, а что в вашем коде может быть такого, знание чего злодею поможет взломать ваш сайт? Очевидно, что пароли к БД, к мылу, SECRET_KEY, может быть адреса какие-нибудь, которые вы, разумеется, не хардкодите, они у вас в settings.py. Разумеется, их не надо показывать. А остальное - да бога ради, если вы совсем уже как-нибудь грубо не натупили (например не проверяете права пользователей для админских операций, надеясь на логику фронтенда), ничего страшного не произойдет.
Trit
Июнь 21, 2017 12:30:29
FishHook, спасибо!
pyhhton
Июнь 21, 2017 14:51:28
А как должен выглядеть деплой? settings.py не должен коммититься и на хостинге должен заполняться админом?
FishHook
Июнь 21, 2017 16:37:24
pyhhton
А как должен выглядеть деплой? settings.py не должен коммититься и на хостинге должен заполняться админом?
settings.py - это просто питоний файл, вы внутри этого файла можете написать полноценную программу. Делать этого, конечно, не нужно, но импортировать внутри settings.py какой-то другой модуль вполне допустимо. Обычно делают так: в settings.py выносят все базовые настройки для проекта, независимые от конкретного сервера или конкретного проекта, рядом есть файл settings_local.py, который вообще в gitignore и не попадает в общий репозиторий, но он импортируется внутри settings.py и там вы настраиваете индивидуально доступ к БД и все прочие сугубо частные вещи.
pyhhton
Июнь 21, 2017 17:33:22
В переменных окружения ничего не передается? Их другой юзер кстати видеть не может?
FishHook
Июнь 21, 2017 18:06:58
pyhhton
В переменных окружения ничего не передается?
Зачем?
pyhhton
Июнь 21, 2017 21:52:56
Хз, показалось что я это где-то видел.