Как удалить exif из оригинала изображения
Мне нравится следовать соглашениям о шорткодах, как описано здесь: https://laurakalbag.com/processing-responsive-images-with-hugo/ и настраивать параметры exif в config.toml следующим образом
[imaging.exif]
# Regexp matching the fields you want to Exclude from the (massive) set of Exif info
# available. As we cache this info to disk, this is for performance and
# disk space reasons more than anything.
# If you want it all, put ".*" in this config setting.
# Note that if neither this or ExcludeFields is set, Hugo will return a small
# default set.
includeFields = ""
# Regexp matching the Exif fields you want to exclude. This may be easier to use
# than IncludeFields above, depending on what you want.
excludeFields = ".*"
# Hugo extracts the "photo taken" date/time into .Date by default.
# Set this to true to turn it off.
disableDate = true
# Hugo extracts the "photo taken where" (GPS latitude and longitude) into
# .Long and .Lat. Set this to true to turn it off.
disableLatLong = true
Однако я заметил, что хотя hugo правильно удаляет exif из сгенерированных масштабированных изображений, hugo ТАКЖЕ помещает исходное изображение с неповрежденным EXIF в общедоступный каталог, что представляет собой проблему безопасности.
Я доволен решением не публиковать оригинал или решением, которое публикует исходное изображение, но с вырезанным EXIF.
Спасибо за любые указатели, я уверен, что неправильно понимаю что-то фундаментальное!
1 ответ
Немного неэлегантно, но очень безопасно вызывать какую-то подготовку перед фактической сборкой (в /public). Таким образом, вы можете автоматически удалить всю информацию EXIF со всех фотографий (например, в каталоге блога). Я использую «jhead» для этой цели. Я включаю эту команду и другие приготовления в сценарий вместе со сборкой. Если у вас нет процесса сборки в ваших руках, это, конечно, не сработает.
find ./static/images/ -type f | xargs -i jhead -purejpg {}