Безопасность: опубликованный dev не стартует с дефолтными секретами
При LOCAL_PUBLIC=vps dev доступен на forbidden-stars.ru, а fail-fast по SECRET_KEY/ADMIN_PASSWORD работал только в production: снаружи оставались общеизвестный ключ JWT (подделка любого токена, включая админский) и пароль админки. Теперь проверка срабатывает при is_published — у прода и у dev на домене; на нём же cookie_secure. Dev-инструменты и Swagger на опубликованном dev остаются (решение владельца): лаунчеры и лог старта перечисляют, что открыто любому посетителю. В .env.example — что открывает vps и что у dev и prod должны быть разные SECRET_KEY. #69 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LqSoRj99iwVEH5U5fnZgsd
This commit is contained in:
@@ -75,7 +75,12 @@ case "$app_env" in
|
||||
trap 'kill "$back" 2>/dev/null || true' EXIT INT TERM
|
||||
echo " Бэк: http://127.0.0.1:8000 (Swagger: /api/docs)"
|
||||
echo " Фронт: http://127.0.0.1:5173"
|
||||
[ "$local_public" = "vps" ] && start_tunnel 5173
|
||||
if [ "$local_public" = "vps" ]; then
|
||||
start_tunnel 5173
|
||||
echo " ВНИМАНИЕ: dev опубликован. Любой посетитель может войти по нику без пароля,"
|
||||
echo " смотреть и создавать игроков, жёстко удалять аккаунты и читать Swagger."
|
||||
echo " Не держите в dev-базе копию прод-данных."
|
||||
fi
|
||||
( cd "$root/frontend" && npm run dev )
|
||||
;;
|
||||
production)
|
||||
|
||||
Reference in New Issue
Block a user