Перейти к содержимому

1. Пользователь, сайт и подключение ​

Суть этапа ​

Пользователь владеет командой или входит в неё; сайт принадлежит команде. Проверяем членство и роль перед получением доступа к файлам. Подключение — это FTP/SFTP/FTPS-доступ к определённой папке хостинга.

Как работает ​

  1. Создаём пользователя, команду с owner и карточку сайта — проект этой команды.
  2. Пользователь указывает протокол, сервер, порт, логин и корневую папку.
  3. Пароль или ключ вводит отдельно от чата, через защищённый способ настройки.
  4. Проверяем соединение и возможность чтения согласованной папки.

В БД сохраняем userId, teamId, projectId (сайт), connectionId, метаданные подключения и его статус. Секрет хранится зашифрованным с отдельно управляемым ключом либо в хранилище секретов. Через MCP возвращаем идентификатор, не пароль.

Границы доступа ​

Для прямого получения файлов достаточно чтения. Если выбран временный PHP-сборщик, отдельно нужны разрешение и права на создание и удаление его служебных файлов. Это не разрешает изменять код сайта: публикация исправлений остаётся следующим этапом. Проверяем принадлежность сайта при каждой операции. Предпочтительны SFTP/FTPS с проверкой идентичности сервера. Обычный FTP не шифрует передачу; это ограничение показываем при подключении; условия допуска определяем до облачного пилота.

Адрес подключения не должен позволять обращаться к внутренней сети Securify. Смена пользователя не задаётся произвольным аргументом агента.

Результат этапа ​

Есть проверенное подключение к разрешённому корню сайта. Ошибка соединения видна пользователю; до её устранения получение снимка не начинается.

Securify · Документация проекта · Прототип → MVP