Я сделал это около 5 лет назад в php.К сожалению, у меня больше нет кода.В основном я использовал curl с возможностью следовать всем перенаправлениям.Таким образом, данные, которые возвращались в программу, почти всегда были тем, что я действительно хотел проверить.С этого момента я бы только взял первые несколько байтов данных из содержимого и проверил, существуют ли метаданные изображения и были ли они jpg, png или gif.Наличие кода, чтобы показать вам, вероятно, поможет объяснить это намного лучше, но его больше нет.Я сравнил это с «дегустацией» файла перед его употреблением.
Преимущество использования такого рода техники заключается в том, что вы на самом деле проверяете файл, а не полагаетесь на информацию заголовка, что обычно правильно, но не всегда.