Один из способов удалить все изображения EXIF, GPS, IPTC, автора, авторских прав и цветов из образа - использовать ImageMagick, который доступен на всех дистрибутивах Linux и MacOS и Windows.
В командной строке вы должны:
convert input.jpg -strip output.jpg
Если вы хотите сделать это с помощью PHP, вы можете использовать эквивалент Imagick :
bool Imagick::stripImage ( void )
который описан здесь . Итак, это будет выглядеть так:
// Load input image and strip everything
$image = new Imagick('start.jpg');
$image->stripImage();
// Output result
$image->writeImage('result.jpg');
Другой, возможно, более простой и легкий способ - это exiftool
( «простой» сценарий Perl , а не массивный пакет, такой как ImageMagick ) следующим образом:
exiftool -all= YourImage.jpg
Вы также можете «выложить» из PHP, используя system()
для запуска этих команд, если найдете это проще.
Если вы абсолютно параноики по этому поводу, вы можете преобразовать в промежуточный формат, который вообще не поддерживает метаданные, такие как NetPBM
формат ( ссылка Википедии), а затем обратно в JPEG, например:
convert YourImage.jpg -strip pam:- | convert pam:- result.jpg
Если вам интересно, почему я все еще использовал -strip
выше, это потому, что NetPBM поддерживает комментарии, поэтому я хотел избавиться от них. Если вам интересно, почему я выбрал формат PAM вместо PPM, он работает с PNG-файлами, которые могут иметь 4 канала (т. Е. RGB и прозрачность).
Вы можете проверить, какая информация все еще содержится в изображении, используя:
jhead -v YourImage.jpg
Или:
exiftool YourImage.jpg
Или вы можете найти все текстовые строки в своем изображении и использовать их grep
для просмотра и посмотреть, не проскользнуло ли что-то, что вы конкретно не хотите:
strings YourImage.jpg | grep -Ei "copyright|latitude|longitude|author"