热知识,一些数码相机拍照时会记录照片的一些拍摄数据,并以Exif格式附加到生成的jpg文件中,那么…
定位
我们可以用Python检查一张照片里有没有敏感数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
import exifread import argparse import re, os
def analyze_image(imagePath): with open(imagePath, 'rb') as imageFile: metadata = exifread.process_file(imageFile) print(f'经度: {metadata.get("GPS GPSLongitude", "无")} {metadata.get("GPS GPSLongitudeRef", "")}') print(f'纬度: {metadata.get("GPS GPSLatitude", "无")} {metadata.get("GPS GPSLatitudeRef", "")}') print(f'海拔: {metadata.get("GPS GPSAltitude", "无")} {metadata.get("GPS GPSAltitudeRef")}') print(f'拍摄时间: {metadata.get("Image DateTime", "无")}') print(f'图像描述: {metadata.get("Image ImageDescription", "无")}') return
def main(): parser = argparse.ArgumentParser(description="Display jpg metadata") parser.add_argument('imagePath', type=str, help='image path') args = parser.parse_args() analyze_image(args.imagePath) return if __name__ == "__main__": main()
|
把去年用iphone拍摄的一张照片传入
回显
1 2 3 4 5
| 经度: [118, 26, 2339/50] W 纬度: [34, 3, 4619/100] N 海拔: 48521/476 0 拍摄时间: 2023:06:23 19:51:48 图像描述: 无
|
不给定位
对于大部分手机来说,防止其自动加上这些敏感数据的方法很简单 – 不给拍照App定位的权限就可以了;对于已经拍摄了的照片,可以对其截图代替原片达到抹除Exif数据的效果