Для случая изображения вам нужно будет проверить все данные в файле: это означает, что вам нужно открыть изображение, посмотреть, является ли это допустимый тип, распознать все порции данных, соответствующие типу файла, и удалить остальное, если есть.
Одним из вариантов будет использование GD
для повторного сохранения изображения или пробная версия и удаление байтов в конце файла и проверка правильности изображения (опять же, с использованием GD
). Конечно, вы можете попытаться проверить те файлы, которые, по вашему мнению, являются подозрительными, например, если вы обнаружите заголовок SWF (или все, если вы чувствуете себя параноиком).