Лучше ли вытащить файлы из удаленных мест или предоставить пользователям доступ по FTP к моей системе?
Мне нужно настроить процесс для обновления таблицы базы данных с помощью предоставленных пользователем CSV-данных (работает Coldfusion 8/MySQL 5.0.88
).
Я не уверен насчет лучшего способа сделать это.
Если я предоставлю пользователям FTP-доступ к моей системе, создаю каталог для каждого пользователя и загружаю файлы оттуда, или я должен забрать файлы из внешних источников, чтобы пользователю пришлось настроить папку FTP, к которой моя система может получить доступ. Я как бы склоняюсь ко второму пути и хотел настроить это с помощью cfschedule
а также cfftp
, но я не уверен, что это лучший способ идти вперед. С точки зрения безопасности, я склонен к тому, чтобы пользователи указывали местоположение FTP, откуда я беру, а не раздавал и обслуживал папки FTP для каждого пользователя.
Вопрос:
Какой подход лучше с точки зрения безопасности и автоматизации?
Спасибо за вклад!
3 ответа
Я бы не использовал ни один подход. Я бы дал пользователям веб-страницу для загрузки их CSV-файлов. Страница cf, которая принимает файлы, поместит их в определенную папку и убедится, что у них уникальные имена файлов. Тег cffile поможет вам в этом.
Запланированное задание будет начинаться с тега cfdirectory в целевой папке. Это создает объект запроса. Переберите его и сделайте то, что вы должны сделать с каждым файлом.
Не забудьте проверить правильность расширения файла. Затем посмотрите на первую строку файла, чтобы убедиться, что он соответствует ожидаемому формату.
Как только вы закончите обработку файла, сделайте что-нибудь с ним, чтобы вы не обработали его снова на следующем запланированном задании.
Настроить пользовательский FTP-сервер, безусловно, возможно, так как вы можете создавать пользователей и предоставлять им привилегии (автоматически). Это также безопасно. Но я не знаю, с чего начать, если у вас нет опыта настройки FTP-сервера.
Попробуйте https://www.dropbox.com/
a.) Создайте аккаунт Dropbox, отправьте приглашения своим пользователям / клиентам.
б.) Вы можете загружать файлы / папки в Dropbox, ваши клиенты / пользователи могут получить к нему доступ из своего аккаунта Dropbox / настольного приложения Dropbox.
в.) Ваши пользователи / клиенты могут загружать файлы / папки, и вы можете получить к нему доступ из вашего Dropbox
учетная запись веб-сайта / настольное приложение. Dropbox - программное обеспечение ранга 1, лучше в области безопасности и автоматизации.
Другие решения:
Лучшее решение GOOGLE DRIVE(5 ГБ бесплатно) создайте новую учетную запись Gmail, предоставьте свой идентификатор и пароль своим пользователям. Попросите их открыть диск Google и импортировать / экспортировать файлы. Или попробуйте skydrive(25 ГБ бесплатно)