Существует миллион сценариев загрузки файлов. Этот не хуже других.
Хотя «защита» от загрузки файлов, отличных от pngs, не будет работать (она только проверяет имя файла).
Загрузка файлов довольно безопасна - она дает другим возможность скачать их, что открывает ваш сервер для определенных типов атак. В статье, на которую вы ссылались, не упоминаются два важных момента:
- никогда не обслуживать предоставленные пользователем файлы из того же домена, что и ваша веб-страница . Есть отдельный домен для скачивания. Таким образом, даже если кому-то удастся загрузить флэш-анимацию или фрагмент HTML, ваш домен не будет подвергаться междоменной атаке (например, если ваше приложение имеет домен example.org, вы должны обслуживать пользовательский контент, скажем, из загрузок. example.com);
- всегда обслуживает загруженные файлы с хорошо контролируемыми заголовками.