Проблема заключается в следующем: если вы разрешите пользователям загружать видео, изображения и текстовые файлы, некоторые из них будут пытаться загружать вирусы, серверные сценарии и другой вредоносный код. Такой код будет затем подвергать пользователей вашего сайта тому, что когда-либо «плохие вещи» загружали эти пользователи в контексте вашего собственного сайта.
Если вы разрешаете такие загрузки, вы должны быть очень осторожны, чтобы сохранять файлы только тех типов, которые вы запланировали, а не смотреть на расширение файла. Вы также должны убедиться, что эти файлы размещены в местах, где права на выполнение / скрипт отключены.
Проверка на вирусы обязательна, но ее недостаточно . Сценарий PHP может вообще не вызывать предупреждения о вирусах, но этот же сценарий может раскрыть жизненно важную информацию для вашего сайта или вызвать другие плохие события, если они будут выполнены.
Вы должны проверить содержимое файлов - никогда не полагаться на расширение или тип MIME, сообщенные клиентом. Их легко подделать.