Лучше ли извлекать файлы из удаленных мест или предоставлять пользователям 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, лучше в безопасности и автоматизации.
Другие решения: