我正在编写一个应用程序,允许注册用户(任何注册用户)将图像上传到我的nodejs背景(使用锐器处理)。
为了安全起见,我删除图像的exif部分。然而,我已经意识到,事实上,gps部分的exif是非常整洁的。现在我想把这一切都留着。
我担心的是有人可能会上传文本,比如
{
...
GPSSpeed: pornhub.com
GPSLatitudeRef: SOME EXTREME lenght text... 500000k+
...
}你会得到我的恐惧。
我的第一个直觉是循环所有键,并将它们与某个模式(长、类型、甚至内容)匹配,但这需要我创建这样一个模式。
发布于 2018-12-27 06:29:33
EXIF中的信息不是空闲数据,而是具有数据类型。全球定位系统的位置信息是有理数据类型精确表示为8个字节。这意味着您不能将任意字符串信息放入其中,而只能放入浮点数。
把这些价值观进一步限制在理智的价值观上也许是有意义的。假设您只想保存EXIF元数据的GPS信息,那么提取这些数据、删除原始EXIF数据块并编写一个只包含GPS信息的新的EXIF数据块,只要它们在正常范围内就有意义。在各种编程语言中都有库可以实现这一点。
https://security.stackexchange.com/questions/200412
复制相似问题