↗ 点击上方“Web安全与前端”关注我们
Exif是什么?
Exif的意思是“可交换图像文件“,在jpeg的格式头部插入了数码照片的信息,包括拍摄参数,如光圈、快门、焦距和日期时间、拍摄设备的品牌、型号等,以及缩略图和其他信息。
Exif有什么卵用?
起初记录这些信息是为了帮助摄影爱好者分析自己在不同器材,不同环境和不同设备设置下拍摄的效果,帮助他们不断改进并提高自己的水平。
通过此数据还可以协助处理图片,防止失真。一些地方也会使用它做原图检测,因为在编辑软件中修改后,一些技术信息会丢失,同时Exif也会保存历史记录。
可是,另一方面,由于Exif记录的元数据信息非常丰富,会暴露一些你不想让别人知道的个人的信息,比如:
你拍照使用的设备,是佳能?佳能的某个型号?还是某款手机?
你拍摄照片的地理位置(GPS定位)。
你拍摄照片的时间。
你是否在软件中修过图。
...
Exif怎么看?
可以使用一些专用软件,比如JPEGsnoop、MagicEXIF,也可以使用Photoshop的文件简介功能查看~
上传到网络上的图片还可以使用exifjs在浏览器中打印出来。
测试地址:http://works.enjoyfe.com/blogDemo/exifdemo/exif.html (或者点击阅读原文)
下图是一个例子,上传了一张原图,可以打出Exif里的所有信息。
截图中可以看到,Exif中存储了我们的相机型号、GPS信息,拍摄时间等信息。如果在不知情的情况下上传到网上,很有可能被利用。
利用canvas去除Exif信息
函数:canvas.toDataURL(type, encoderOptions);
用来返回代表画布图像数据的字符串,也就是图片的base64,可以使用 type 参数其类型,默认为 PNG 格式。
如果type传入的是 image/jpeg或者 image/webp,那么就可以设置encoderOptions了,这个参数是图片质量,取值范围为 0 到 1 。
在测试网址中,通过点击下载图片,将会使用这种方式下载一张没有exif信息的图片。
当图片过大的时候,下载会出现失败的情况,我们可以在canvas上右键保存,同样可以去掉图片的Exif信息。
当然,利用一些专业的软件也可以将exif信息去掉,如使用Photoshop的存储为web所用格式。
现在大家非常喜欢在一些网站上传照片,分享风景,晒自拍,传图的时候可千万要注意呀~~
过年大家一定朋友之间发送了不少原图吧~~
注:本文原创,转载请通过本公众号联系作者。
安全&前端
长按二维码
关注我们