Лучше ли извлекать файлы из удаленных мест или предоставлять пользователям FTP доступ к моей системе?

Мне нужно настроить процесс для обновления таблицы базы данных с предоставленными пользователем CSV-данными (запуск Coldfusion 8/MySQL 5.0.88).

Я не уверен в лучшем способе сделать это.

Должен ли я предоставлять пользователям FTP-доступ к моей системе, генерировать каталог для каждого пользователя и загружать файлы оттуда, или я должен выбирать файлы из внешних местоположений, поэтому пользователь должен настроить папку FTP, к которой может обратиться моя система. Я вроде бы склоняюсь к второму пути и хотел бы установить это с помощью cfschedule и cfftp, но я не уверен, что это лучший способ продвинуться вперед. Безопасность мудрая, я склонен к тому, что пользователи определяют местоположение FTP, откуда я тяну, вместо того, чтобы раздавать и поддерживать FTP-папки для каждого пользователя.

Вопрос:
Какой подход лучше как с точки зрения безопасности, так и с точки зрения автоматизации?

Спасибо за ввод!

Ответ 1

Я бы не использовал ни один подход. Я бы предоставил пользователям веб-страницу для загрузки своих файлов csv. Страница cf, которая принимает файлы, помещает их в определенную папку и удостоверяется, что у них есть уникальные имена файлов. Тег cffile поможет вам в этом.

Запланированное задание начнется с тега cfdirectory в целевой папке. Это создает объект запроса. Прокрутите его и сделайте то, что вы должны делать с каждым файлом.

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

Как только вы закончите обработку файла, сделайте что-нибудь с ним, чтобы вы не обрабатывали его снова в следующем запланированном задании.

Ответ 2

Настройка настраиваемого FTP-сервера, безусловно, возможна, поскольку вы можете создавать пользователей и предоставлять им привилегии (автоматические). Это также безопасно. Но я не знаю, как лучше всего начать, если у вас нет опыта настройки FTP-сервера.

Ответ 3

Попробуйте https://www.dropbox.com/

a.) Создайте учетную запись Dropbox, отправьте приглашения своим пользователям/клиентам.

b.) Вы можете загружать файлы/папки в Dropbox, ваши клиенты/пользователи могут получить к нему доступ из своих   dropbox account/dropbox desktop app..

c.) Ваши пользователи/клиенты могут загружать файлы/папки, и вы можете получить к нему доступ из своего Dropbox
   учетная запись веб-сайта/настольное приложение. Dropbox - это программное обеспечение ранга 1, лучше в безопасности и автоматизации.

Другие решения: