Commit Graph
5 Commits
Author SHA1 Message Date
qa-tester 971e51b6f5 security: закрыть уязвимости аудита (PRJ-6)
- gunicorn вместо dev-сервера Werkzeug; non-root user в Dockerfile
- volume sqlite_data для БД (заявки не теряются при rebuild)
- consultations.db и data/ в .dockerignore (ПДн не попадают в образ)
- Secure-куки по умолчанию (COOKIE_SECURE=1), лимит сессии 12ч
- защитные заголовки: CSP, X-Frame-Options, nosniff, Referrer-Policy, Permissions-Policy
- MAX_CONTENT_LENGTH 64КБ
- анти-брутфорс админки: 5 попыток -> блокировка 15 мин + лимит 5/мин
- обязательный чекбокс согласия на обработку ПДн + страница /privacy
- .env.example: понятные плейсхолдеры, COOKIE_SECURE
2026-08-06 16:12:48 +04:00
qa-tester 4e6b655a2b fix(subjects): презентабельные карточки направлений (grid-колонка, скругления, hover, иконки) 2026-08-06 00:47:22 +04:00
qa-tester 58fa54b865 feat: сайт только по математике, убрана физика (ОГЭ/ЕГЭ по математике) 2026-08-06 00:36:19 +04:00
qa-tester 0b48746e67 docker: подготовка к запуску в контейнере (Flask)
- Dockerfile: python:3.12-slim, зависимости отдельным слоем
- docker-compose.yml: порт 5000, env из .env
- .dockerignore: .env, .git, кэш
- app.py: bind 0.0.0.0:5000 (в контейнере)
2026-08-04 20:20:54 +04:00
qa-tester 0c6740ac53 fix: закрыть уязвимости (CSRF, rate limit, секреты, CSV-injection, LIKE-экранирование) 2026-08-04 00:03:40 +04:00