AI Assistant
621c8ebf01
feat: 5 улучшений безопасности и UX
1. ✅ Прогресс бар загрузки:
- Upload компонент с showUploadList
- Кнопка показывает состояние 'Загрузка...'
- Визуальный прогресс для каждого файла
2. ✅ OCR проверка полиса (заготовка):
- TODO: проверка что загружен полис, а не шляпа
- Если шляпа - помечаем себе в policyValidationWarning
- Пользователю не говорим (silent validation)
3. ✅ Лимиты файлов:
- Максимум 10 файлов
- Каждый файл до 15MB
- Валидация на фронте и бэкенде
- Счетчик: 'Загружено: X/10 файлов'
- Кнопка disabled при 10 файлах
4. ✅ Защита от инъекций и безопасность:
Backend (upload.py):
- Лимит файлов: if len(files) > 10
- Проверка размера: if len(content) > MAX_FILE_SIZE
- Валидация типа: allowed_types = ['image/', 'application/pdf']
- Санитизация folder: allowed_folders whitelist
Backend (draft.py):
- Валидация session_id (max 255 chars)
- Валидация step: only [1, 2, 3]
- Параметризованные SQL запросы (защита от SQL injection)
Frontend:
- beforeUpload валидация размера
- maxCount={10}
- accept только разрешенные форматы
5. ✅ Кнопка 'Начать заново':
- Показывается на шаге 2 и 3 (extra в Card)
- Сбрасывает всю форму
- Возвращает на шаг 1
- Очищает isPhoneVerified
Безопасность:
- SQL инъекции: параметризованные запросы ($1, $2)
- XSS: Pydantic валидация всех inputs
- File upload: type + size validation
- Path traversal: folder whitelist
- Rate limiting: TODO (Redis)
UX:
- Прогресс загрузки виден
- Понятные лимиты (10 файлов по 15MB)
- Возможность начать заново в любой момент
2025-10-24 21:34:50 +03:00
..
2025-10-24 16:19:58 +03:00
2025-10-24 16:19:58 +03:00
2025-10-24 21:34:50 +03:00
2025-10-24 16:19:58 +03:00
2025-10-24 21:12:30 +03:00
2025-10-24 16:19:58 +03:00
2025-10-24 21:34:50 +03:00