Достаточно ли загружать в произвольно названные каталоги (в плане безопасности)? - PullRequest
0 голосов
/ 28 мая 2018

Итак, я построил форму, которая позволяет пользователям загружать файлы (в белый список расширений) в каталоги с произвольными именами, в другой каталог в корневом каталоге.Случайное имя, по техническим причинам, сейчас записано на html-странице, но видно в коде только тогда, когда страница существует.Если пользователь обновит страницу, имя изменится.Видно только само случайное имя dir, но не вся загрузка в itpath.

data-name="<?php echo uniqidReal(); ?>" // outputs like 'd91806dbde743568'

Это имя затем используется php для создания dir, в который будут сохраняться файлы, что-то вроде https://www.acme.com/mydir/d91806dbde743568/file.mp3.Весь этот URL будет затем отправлен один раз получателю формы.

Содержимое 'mydir' находится под -Indexes, поэтому никто не сможет угадать имя случайного имени dirs в нем.

Теперь мой вопрос: достаточно ли этого, чтобы избежать проблем с безопасностью?Можно ли, например, загрузить замаскированный файл, содержащий некоторый вредоносный код, который после загрузки может прочитать каталоги и отправить им информацию назад или сделать что-то еще?

Должен ли я повысить уровень безопасности каким-либо другим способом?

1 Ответ

0 голосов
/ 28 мая 2018

Это не лучший способ, потому что имя папки может содержать такие символы, как ../

Мне кажется, лучше создать случайную папку на сервере без получения данных от пользователя

...