Для точек интереса и маршрутов запилил функциональность добавления отзывов с картинками. Для картинок определил несколько форматов: jpeg, jpg, png и webp. Но как понять, что jpg это именно jpg. Мало ли кто и что захочет загрузить. Вдруг это будет php-скрипт, переименованный в image.jpg.

Оказалось, что такая проверка называется, проверкой сигнатуры файла (magic bytes check).

Например, jpeg должен начинаться с байтов FF D8 FF, png — 89 50 4E 47 0D 0A 1A 0A, а webp — 52 49 46 46, затем идут 4 байта размера файла и 57 45 42 50.

Такая вот приколюха.

Для точек интереса и маршрутов запилил функциональность добавления отзывов с картинками. Для картинок определил несколько форматов: jpeg, jpg, png и webp. Но как понять, что jpg это именно jpg | Сетка — социальная сеть от hh.ru