Файловых менеджеров для сайта существует множество, но не все они бесплатны, и не все они хороши. Одним из лучших файловых менеджеров по мнению Pedanto является elFinder. Кроме того что он бесплатен, так еще и функций у него полный комплект.
Запутаться в elFinder будет сложно, так как он прост до невозможности. При этом функционал от этого не страдает. С левой стороны расположено древо папок, а с правой список файлов. Управлять файлами вашего сайта можно как с верхней панели инструментов, так и через правую кнопку мыши.
К недостаткам файлового менеджера можно отнести невозможность изменить высоту главного окна, она фиксирована 400px.
Пожалуй одна из самых полезных опций любого файлового менеджера, это возможность встраивания в визуальный редактор. Для редактирования новостей и страниц Pedanto использует ckeditor в нем есть опция добавления изображений в текст. В случаи если подключен файловый менеджер, то загрузить и получить ссылку на изображение можно в два клика.
Кстати это изображение выше, было загружено именно таким образом. Но кроме этого во всплывающем окне файлового менеджера для него была создана отдельная папка. Также изображение было скопировано и уменьшено, для превью версии. И все эти манипуляции были произведены во всплывающем окне elFinder во время оформления этой статьи.
Кроме загрузки изображений на сайт, Вы также можете загружать файлы, архивы, документы и т.п. В следствии чего на них можно указать ссылку для скачивания на созданной странице. Например вы описали какой-либо товар на сайте, и хотите приложить файл с прайс-листом. Без файлового менеджера, вам придется загружать его на какой-нибудь файлообменник, потом указывать ссылку на вашем сайте. В то время как elFinder позволяет сделать это в три клика, создав ссылку и выбрав файл для скачивания в интерфейсе файлового менеджера.
Как и в любом стороннем скрипте в elFinder есть уязвимости, которые могут позволить злоумышленникам получить доступ к вашей файловой системе, загрузить в нее вредоносный код и испортить ваш сайт. Одна такая уязвимость, позволяет получить доступ к редактору, любому, кто знает в какой папке сайта он расположен. Дело в том что файл elfinder.html не защищен от внешнего доступа. Студия Pedanto исправила эту проблему для всех наших сайтов включив опцию зашиты в конфигурационный файл connector.minimal.php (connector.php в старых версиях). Достаточно дописать в нем скрипт проверки авторизации администратора в самом верху.
Например:
session_start(); if ($_SESSION['admin'] != 1) die("У вас нет прав для использования редактора!");
Ну и ниже код коннектора. Это только пример реализации, все зависит от используемой CMS.
Чтобы злоумышленники не смогли загрузить вредоносный php скрипт, следует ограничить список исполняемых файлов на папку в которую вы используете для файлового менеджера. Но в рамках этой статьи Я не стану углубляться в подробности безопасности файловой системы. Скажу лишь только что Студия Pedanto делает все, чтобы сайты нашей студии были максимально защищенными.
Студия Pedanto не берет денег за использование файлового менеджера elFinder и каждый наш клиент (в не зависимости от типа сайта), получает в использование этот мощный и полезный инструмент.
Официальный сайт разработчиков elFinder: http://studio-42.github.io/elFinder/