我们平时拍摄的图片,不仅包含了可见的像素信息,还包含了我们看不到的隐藏信息(元信息),而这些元信息,往往会不经意间泄露我们的隐私.


我们先来看看平时我们拍摄的照片里面,到底藏了哪些信息;

(1) iPhone6s照片元信息的提取:

#####手机拍摄的照片,元信息非常丰富,包含了光圈/快门等拍摄参数,也包含了拍摄时间,拍摄地点等个人隐私信息,所以不要轻易将未经处理的原图发送给他人,尤其不要随意上传原图!

(2) 佳能70D拍摄照片元信息的提取:

#####相机拍摄的图片与手机类似,同样包含了地理信息,拍摄时间信息; #####相机拍摄的图片,摄影师一般会使用软件进行后期处理,为了保护隐私,图片在导出时记得勾选消除元信息的选项(下图为Adobe Lightroom的导出示例)

不只是我们平常拍的照片,网站图片的也可能存在安全隐患;

#####黑客通过爬虫批量下载网站图片,然后分析网站图片的元数据,从中获取有价值的信息,有的网站对于用户上传的图片处理的很好,有的网站做的就不够理想... ###(3) 高校网站:

高校的官网大多年久失修,底层框架陈旧,网站安全性不是很好,高校网站的图片,一般没有进行过专业的后期处理,几乎是拍完即用,有很多安全隐患,以我从学校官网下载的新闻图片为例:

仅从图片的命名就可以确定拍摄的时间; 通过读取图片的元信息可以了解到,相机型号: 佳能750D; 拍摄时间:2017年6月23日下午4点15分16秒; 最应该消除的GPS信息被保留了下来...

不讲了...高校的网站安全建设有待提高...

###(4) 政府官网图片元信息:

下面这张图片是从政府官网找到的,与高校官网的图片相比,图片命名看不到有价值的信息,通过读取元信息,能了解到: 相机型号:Canon EOS-1D X Mark II, 拍摄时间:2017年9月13日下午3点48分13秒拍摄...

与高校相比,政府官网的图片信息相对安全

(5)简书网站的图片

简书网站的图片找不到任何图片元信息的,大家可以放心上传!不只是简书,微博,微信,qq等主流的社交平台,为了减少服务器存储图片的开销,会主动帮用户主动消除元信息,只要你不往平台上传原图,就基本可以保证信息的安全!

##我想消除图片隐藏的信息,怎么办? ####这里提供一个python脚本,将脚本和图片放到一起,然后运行脚本即可:

GIF演示中, 009是为了前后对比,验证清除的效果,其实只需运行010即可!

####批量消除图片元信息的脚本(010删除Exif.py)


import piexif
import sys
import os
import redef remove_all_exif(image_names):for image_name in image_names:try:piexif.remove(image_name)print(image_name,"exif信息清除完毕")except Exception:passdef get_images():all_file_names = os.listdir()image_names = list()for file_name in all_file_names:if re.match(r".*\.(jpg|JPG|png)",file_name):image_names.append(file_name)print("已经将",file_name,"添加到列表!")else:passreturn image_namesdef main():image_names = get_images()remove_all_exif(image_names)passif __name__ == "__main__":main()复制代码

批量获取图片元信息的脚本(009提取Exif.py)

import os
import sys
import re
import PILfrom PIL import Image
from PIL.ExifTags import TAGSdef get_Exif(image_names):for image_name in image_names:print("开始读取",image_name)exifData = dict()imgFile = Image.open(image_name)try:info = imgFile._getexif()if info:print(image_name,"的信息为:")for (key, value) in info.items():nice=TAGS.get(key, key)print("%s(%s) = %s"%(nice, key, value))if nice == "GPSInfo":print("---%s(%s) = %s---"%(nice,key,value))elif re.match(r"^Date.*", nice):print("%s(%s) = %s"%(nice, key, value))else:passelse:print("没有任何元信息!")except Exception as e:print(e)def get_images():all_file_names = os.listdir()image_names = list()for file_name in all_file_names:if re.match(r".*\.(jpg|JPG|png|jpeg)",file_name):image_names.append(file_name)else:passreturn image_namesdef main():image_names = get_images()get_Exif(image_names)passif __name__ == "__main__":main()
复制代码

如果您喜欢python,喜欢故事,请点赞或关注我!您的支持是对作者最大的鼓励!

《脚本》你的照片安全么相关推荐

  1. dos脚本批量更改照片命名(文字变更数字)

    dos脚本批量更改照片命名(文字变更数字) 第一步:首先创建一个文件夹,里面放三类文件.第一类是所有的照片,以文字(或其他)命名:第二类是Excel表格,里面存放与照片命名文字(或其他)对应的.需要更 ...

  2. 用Photoshop脚本批量为照片增加拍摄时间水印

    效果 感谢 本脚本参考了:laozeng, https://github.com/laozeng1024 核心功能 如果照片为横幅,则顺时针旋转90°后,再增加水印: 如果exif中没有拍摄时间,从x ...

  3. 脚本恢复Win10照片查看器

    新建txt文本文档,写入以下内容,保存关闭文档,修改文档扩展名为".bat",以"管理员身份运行"该文档,打开图片享受成果吧_ @echo off&cd ...

  4. Python自动化脚本:清空回收站的内容

    接着上一篇文章讲解,上一篇:Python 中的 4 个非常好用的自动化脚本介绍了照片压缩器,图片水印,抄袭检查器,文件加解密 这四个脚本.接着我们再介绍一个新的工具,那就是用几行代码,自动删除电脑回收 ...

  5. linux批量重命名脚本,Mac / Linux Shell 批量重命名的方法总览

    Linux Shell 批量重命名的方法总览 0.用类似 GPRename 这样的图形软件进行批量重命名 1.删除所有的 .bak 后缀: rename 's/\.bak$//' *.bak 2.把 ...

  6. html+python+php实现更换证件照照片背景

    html+python+php更换证件照背景 1.大体思路 网站前端选择图片,并将选择的图片提交到后端php处理,将选择的照片复制到网站文件夹中,然后执行python脚本,python脚本实现将照片背 ...

  7. 2020年10个最佳PHP Instagram脚本和机器人

    您是否希望节省时间并更有效地使用Instagram? 集成Instagram脚本和小部件是自动化常规功能,从Instagram下载图像和视频以及执行诸如根据Instagram照片创建电子明信片之类的任 ...

  8. linux系统下树莓派拍照,如何在树莓派上使用图片特效

    现在使用树莓派摄像头模组("raspi cam"),也可以像使用卡片相机那样,给拍摄的照片增加各种各样的图片特效. raspistill命令行工具,为您的树莓派提供了丰富的图片特效 ...

  9. Cardboard开发教程:使用Unity制作Cardboard全景图片浏览器

    这两年,虚拟现实(VR)领域很火,很多人认为这将会是下一个手机般改变人们生活的技术.目前全球最领先的还是Facebook旗下的Oculus,HTC VIVE,以及最流行的Cardboard.国内多家厂 ...

  10. Web前端中的JavaScript语言基础

    文章目录 JavaScript主要特点 JavaScript使用形式 行内JavaScript脚本 内部JavaScript脚本的使用 外部JavaScript脚本 基本语法 标识符 关键字 数据类型 ...

最新文章

  1. 使用Jittor实现Conditional GAN
  2. git Rebase 变基 教程
  3. java-IO-基本输出输入流
  4. java 中断线程 wait_Java 线程中断(interrupt)与阻塞 (park)的区别
  5. php阅读器开发,微信小程序阅读器的简单实例开发
  6. 斯坦福 CS228 概率图模型中文讲义 六、变量消除
  7. 计算机义诊暑期社会实践报告,义诊社会实践报告
  8. 用php做动态时钟,时钟转动动图 如何制作转动的钟表动画?怎么做出时钟转动效果?时钟走动的动态图...
  9. linaro交叉编译工具安装配置
  10. 听课记录高中计算机,中学信息技术听课记录
  11. [后缀数组]JZOJ 3337 wyl889的TLE
  12. 解决Win10插入耳机没声音
  13. 使用HttpURLConnection 越过ssl证书访问htts协议接口
  14. 解密最近几年的新型骗局-情侣网店、未交易、淘宝内部券,你中招了几个
  15. 极客评论:使用Screamer广播播放和录制网络广播
  16. c#根据年月获取所有日期集合、根据年份计算总周数,根据年份和周数获取一周的开始及结束时间
  17. win10下解决编译环境find_fast_cwd: WARNING: Couldn't compute FAST_CWD pointer
  18. 全程干货!人物设计是什么?如何设计出好看的人物?
  19. iOS处理语言工具CFStringTransform 的应用
  20. 二级日语语法总汇(2)

热门文章

  1. 嵌入式Linux上没有wlan0
  2. 浅入爱上区块链【三】积分和数字货币
  3. 互动性可视化,打通大数据最后一公里
  4. 2021-09-01剑指offer37序列化二叉树
  5. 威纶通定时循环操作宏_威纶通软件功能12 程序保护方法
  6. 机刷实名认证软件_最好的手机秒变pos机app:刷卡取现从此不求人!
  7. Unity学习-脚本基础part01
  8. 计算机xp系统自带录制视频文件,怎样使用WinXp系统自带录音机录制视频对白【图文教程】...
  9. mysql5.5太平洋,太平洋软件下载站SQL全功能新云2.1商业版代码 下载
  10. LDA 用于将文档中的文本分类为特定主题