Чек-листНовое
кодовое словоАудит

Проверка пяти мест, где приложение может терять деньги или данные

Проверяем расходы хостинга, доступность, доступ к базе, согласия на рассылку и петли обработчиков.

Содержание5 глав
  1. 011. Хостинг
  2. 022. Доступность
  3. 033. Доступ к строкам базы
  4. 044. Рассылки
  5. 055. Самовызов функции

1. Хостинг

  • Найти в тарифе хостинга поведение при превышении лимита трафика: отключение сайта или дальнейший рост счёта.
  • Поставить жёсткий потолок расхода, если площадка его поддерживает; при отсутствии потолка проверить возможность слоя кэширования и защиты перед сайтом.
  • Назвать максимальную сумму, которую сайт может потратить за сутки.

2. Доступность

  • Десять раз нажать Tab на странице и проверить видимый фокус и возможность отправить форму без мыши.
  • Добавить подписи полям и осмысленные описания изображений, которые несут информацию. Быстрая проверка W3C.
  • Пройти форму целиком только с клавиатуры.

3. Доступ к строкам базы

  • На своём тестовом проекте проверить, можно ли с публичным ключом без авторизации прочитать таблицу пользователей.
  • Если таблица доступна, настроить для каждой открытой таблицы Row Level Security, права ролей и правила доступа к строкам. Документация Supabase.
  • Повторить тест анонимного запроса и убедиться, что чужие строки не возвращаются. Публичный ключ не считать секретом; серверный ключ с обходом RLS держать только на сервере.

4. Рассылки

  • Проверить отдельное, заранее не отмеченное согласие для почты и отдельно для сообщений на телефон.
  • Сохранять дату, время и текст согласия; проверить возможность показать запись для любого адреса из списка.

5. Самовызов функции

  • Найти обработчики, которые записывают в ту же таблицу, за изменениями которой следят.
  • Развести события и рабочие данные по таблицам и поставить ограничение глубины вызовов.
  • Запустить обработчик вручную и убедиться по журналу, что он сработал один раз.