2013-09-21 3 views
1

В моем приложении пользователи могут загружать файлы csv, которые я не храню в прямом месте, они только разобраны, поэтому мой класс импортера получает объект ActionDispatch :: Http :: UploadedFile, а затем я вызываю #tempfile, чтобы получить доступ к tempfile и проанализировать его.Загрузка файлов, tempfile и уязвимостей

Должен ли я позаботиться обо всех уязвимостях, перечисленных в the "File Uploads" section of guides?

ответ

1

Я подозреваю, что вы по-прежнему подвержены отказу от обслуживания, если вы разбираетесь в веб-запросе. Не видя код, о котором идет речь, я не могу сказать окончательно, что вы в безопасности от расширения пути (например, «../../some/secret/file»), изложенного в этой заметке. Тем не менее, если вся обработка файлов выполняется с помощью Rack/ActionDispacth, и вы не имеете прямого отношения к этому пути, я подозреваю, что вы в безопасности.

+0

я передать Params [: файл] .pathfile импортеру: [ClockworkTomatoImporter] (https://github.com/ravicious/tomatostats/blob/77936ccab63f6e04446bfbe5ec030018ecc190e6/app/importers/clockwork_tomato_importer.rb) <[Импортер] (https://github.com/ravicious/tomatostats/blob/77936ccab63f6e04446bfbe5ec030018ecc190e6/app/importers/importer.rb), [import_controller] (https://github.com/ravicious/tomatostats/blob/77936ccab63f6e04446bfbe5ec030018ecc190e6/app/controllers/imports_controller .rb). –

+0

Что касается перемещения синтаксического анализа веб-запроса: да, это определенно то, что я должен сделать. Кроме того, некоторая базовая защита от синтаксического анализа очень больших файлов. –

Смежные вопросы