1. Не запускайте ничего из серверных скриптов или проверяйте список файлов сразу после загрузки и говорите, что архив содержит недопустимые типы файлов (.php, .cgi, .py и т.д.) и попросите их удалить и загрузить заново.
2. Проверяйте антивирусом в момент загрузки (перед перемещением из временной папки).
3. Генерируйте уникальный ID для каждого пользователя и просите их сохранить его, заранее защитив паролем. (после успешной модерации системой, перед публикацией)
хотя бы от вирусов
хотя бы антивирус на сервере
Сразу скажу, что на облачный хостинг загружать не вариант. Это неудобно для пользователей (отсутствует прямая ссылка).
Вот тут непонятно. На dropbox.com - точно прямая есть к контенту.