Работа с файлами на удаленных серверах — не такое уж сложное дело. Есть FTP клиенты, SSH, панели управления серверов со встроенными менеджерами и еще масса других способов. Один из таких способов — веб-файл менеджеры, работающие в браузере.
По сути своей веб-файл менеджеры не очень-то кому нужны. Едва ли вы вспомните когда таким пользовались (менеджеры в CMS не считаются). Другое дело, если перед вами стоит специфическая задача, где применение такого инструмента оправдано. У нас как раз такой случай.
Сегодня я расскажу зачем мы встроили менеджер файлов в антивирус для сайтов, о том как мы это сделали и о том как красные точки помогают пользователям получать наглядную картину заражения.
Зачем нам менеджер файлов
Нам был нужен инструмент, который бы наглядно показывал пользователям картину (структуру, если хотите) заражения файлов на сайтах, а заодно позволял бы работать с файлами. В отчетах о сканировании/лечении уже показывались зараженные файлы и можно перейти к их редактированию во встроенном редакторе, но тут речь о другом инструменте. Нам нужно было нечто, что сделало бы сервис универсальнее.
Мы решили встроить в сервис менеджер файлов. При обнаружении угроз на сайте пораженные файлы и каталоги помечались бы красными маркерами. Это наглядно, понятно и удобно. С таким инструментом пользователи могли бы видеть файловую структуру своих сайтов и перемещаться по ней, видеть проблемы, редактировать отдельные файлы. Это способ экономить время, когда у тебя много сайтов на разных серверах.
Как работает менеджер
Поскольку сайты пользователей уже подключены к сервису, мы можем получать список их файлов и каталогов, и редактировать их удаленно. Также, как и другие инструменты, менеджер файлов мы разместили на отдельном слое. При выборе сайта из общего списка менеджер включается именно для этого сайта.
Зараженные каталоги и файлы помечаются слева красным маркером. Так сразу становится понятно проблемное место в файловой структуре сайта. Отсюда же можно добавить и исключить файл из списка исключений (чтобы он не проверялся антивирусом), перейти к редактированию содержимого и прав файла во встроенном редакторе.
Все данные от сайта пользователя передаются посредством файла синхронизации, размещенного на сайте. Содержимое запрашиваемой папки передается в виде массива в формате JSON каждый раз когда пользователь открывает соответствующую папку в менеджере. В этом массиве присутствует вся необходимая информация о файлах и папках: имя, размер, дата изменения, владелец, группа и права. Пометки о том что файл заражен или папка содержит зараженные файлы выставляются на основе отчета о последней проверке сайта, если таковой имеется. В этом отчете содержится полная информация обо всех зараженных файлах, о найденных в них угрозах и тд. На основе этой информации мы так же подсвечиваем зараженный участок кода в редакторе файлов. Все отчеты о сканированиях хранятся на нашем сервере, поэтому мы всегда можем видеть полную картину заражения сайта и отображать ее в файловом менеджере.
Конечно, мы адаптировали интерфейс менеджера под нужды сервиса, ведь полноценный менеджер файлов нам был не нужен. Важными были только те функции, которые могут пригодиться при лечении сайтов.
Саму навигацию по файловой структуре мы тоже адаптировали на мобильный манер. Нам было важно экономить место, а упрощенный вывод позволил это сделать и интерфейс остался понятным.
Насколько хорошо все получилось
В итоге мы создали универсальный инструмент. С одной стороны, он показывает картину заражения нагляднее чем отчет о сканировании/лечении. С другой стороны им можно пользоваться и вне контекста лечения сайтов.
Нам было интересно увидеть как пользователи стали использовать менеджер файлов вне зависимости от того, заражен их сайт или нет. Менеджер стал самостоятельным инструментом.
Теперь время работы с менеджером файлов составляет 30% от времени, проведенного людьми в своей панели Вирусдая — хороший показатель UX на наш взгляд.
NiPh
Вы как то слишком принижаете файловые менеджеры. Почти у любого шаред хостинга они есть.
Bibainet Автор
Есть конечно, и вообще способов работы с файлами на серверах очень много. Но среди них нет ни одного «со встроенной ветрянкой») Так что мы не изобретали велосипед.
oWeRQ
Если «со встроенной ветрянкой» — это с backdoor'ом, уверен что такие есть.
b1rdex
oWeRQ
Я к тему, что звучит как «Веб-файл менеджер со встроенной болезнью/backdoor'ом».
P. S. Ваши слова только подтверждают, не смотря на благие цели — это самый что ни на есть backdoor.
b1rdex
Я к тому же. Кто его знает что умеет делать этот файл синхронизации.
tegArt
Тут немного о другом речь. Часто на поддержке у вебмастера несколько чужих сайтов на разных хостингах — тут получается единый доступ ко всем сайтам, с которыми приходится работать + подсветка проблемных категорий и файлов.