Skip to content

0.9.4 — защита учётных записей, проверка OWASP ZAP и испорченными файлами

Latest

Choose a tag to compare

@ht2473 ht2473 released this 10 Nov 12:27
caf8a43

Защита учётных записей и служебных меток, проверка сканером OWASP ZAP и испорченными файлами.
При выкладке применяется миграция учётных записей: уже заведённые записи считаются
подтверждёнными с даты создания.

Добавлено

  • Проверки: испорченные файлы в загрузку своих таблиц (пути наружу, пароль, бомбы
    в архиве и книге Excel, внешние сущности XML, незакрытая кавычка, перегруженная страница
    PDF), одновременный поиск, адрес возврата из формы, копия базы без схемы.
  • Документация: проверка защищённости сканером OWASP ZAP и испорченными файлами, замер
    памяти стенда под нагрузкой.

Изменено

  • Кабинет: регистрация заканчивается переходом по ссылке из письма; до этого в запись
    войти нельзя. Страница отвечает одинаково свободному и занятому адресу, занятому уходит
    письмо-напоминание. Неподтверждённая запись удаляется через трое суток.
  • Кабинет: браузер, из которого владелец уже входил, чужие неверные пароли не блокируют;
    блокировка по одной почте действует на остальных.
  • Развёртывание: Django 6.1.3.
  • Свои данные: книга XLSX и ODS проверяется до чтения по размеру и сжатию всех частей,
    а не только листов; страница PDF больше чем с 10 000 линий и знаков отклоняется до разбора
    (USERDATA_PDF_PAGE_OBJECTS, у сборников ведомств — до 2 646).

Исправлено

  • Свои данные: таблица с незакрытой кавычкой роняла страницу «Что в таблице» ошибкой
    сервера; теперь страница говорит, что разобрать не удалось, и называет причину.
  • Свои данные: книга Excel в сотни килобайт с огромным списком общих строк принималась
    и разворачивалась в памяти сайта в сотни мегабайт.
  • Свои данные: PDF с перегруженной страницей разбирался во время загрузки десятки секунд
    и занимал гигабайты памяти.
  • Поверхность: поиск вопросом изредка отвечал ошибкой сервера при одновременных запросах.
  • Поверхность: форма «В исследование» отвечала ошибкой сервера, если в поле адреса
    возврата подставить строку, которая не адрес; адрес возврата принимается, только если
    это путь на этом сайте.
  • Сбор: путь от корня (/…) внутри архива выпуска отклоняется, как и путь с «..».
  • Развёртывание: после выкладки, оборванной до миграций, следующая падала на резервной копии.
  • Кабинет: выключение входа с кодом принимало неограниченное число неверных кодов;
    теперь — пять в час на учётную запись.
  • Кабинет: ключ кодов входа во время настройки лежал в сеансе открытым; теперь зашифрован.
  • Панель: метка закрытой ссылки на таблицу или исследование попадала в историю посещений
    и в журнал веб-сервера; в обоих она заменяется звёздочкой, как метки ссылок из писем.
  • Кабинет: при недоступном Valkey пределы частоты (регистрация, восстановление пароля,
    ввод кода) переставали действовать; теперь счёт ведёт рабочий процесс.
  • Сбор: архив выпуска, который разворачивается больше 2 ГБ, не распаковывается.
  • Развёртывание: резервная копия, переименованная под другую отметку времени, не проходит
    проверку; проверка называет дату и возраст копии.