网站首页 > 技术文章 正文
上周末杭州风巨大,让原本准备出去嗨的世超索性决定,在家躺尸一天。
大概在下午的时候,突然被手机一顿猛震惊醒,原来是大家在群里讨论一个事情:
知乎截图里有盲水印。
啥意思呢。
你以为平时的知乎截图是这样的。
实际上,知乎的截图是这样的。
图源TG网友 ▼
那些字里行间多出来的一串串数字,就是盲水印,咱们用肉眼是看不出来的。
由于不同网友的截图里数字也不同,所以能大概猜出,这些盲水印就是截图者的 ID 。
图源TG网友 ▼
知乎加盲水印要干啥,世超不清楚,但我知道有了盲水印,它就可以查到是谁截的图。
也就是说,你发出的知乎回答截图,里面其实都有你名字的,只不过能看到的只有知乎。
相信大部分人遇到这种事,多少都有点不爽。这不,消息一传开后,马上有人做了油猴插件,屏蔽知乎的盲水印。
还有人分享了一个可以检测盲水印的工具,上面群友分享的那些花花绿绿图片,就是这工具检测出来的。
不过,今天世超在测试的时候,发现不管是 iOS 端、安卓端还是网页端的知乎,它们的截图都没有异常,干干净净。
奇怪,是网友们在胡说,还是知乎紧急下掉盲水印了?
世超翻了一下群聊记录,大概在周日晚上 11 点,网友已经无法复现,而在 2 小时之前还是有成功的。
所以我大胆猜测一下,是不是在晚上 11 点左右,知乎下掉了盲水印。
那如果想复现,我们需要在那之前的截图。
这简单,小黑胖隔三差五就会往微信群里扔一些知乎回答,于是我跑去问他要了几张,截图时间都在 1 星期之前。
但结果是,我依然没发现水印。。。
难道时间还不对,要不干脆就把截图时间限定在周日 0 点到晚上 11 点?
说实话这个截图不好找,但,我们有万能的网友。
打开微博的高级搜索功能,查找关键词填:知乎,微博包含:图片,时间范围:2022-09-04 0 时至 2022 - 09- 04 23 时.
点击搜索,出来了 12 页微博。世超先找到一条大 V 的微博,他发了知乎截图的原图 + 水印图。
图源 @ 微博 Fring 小黄 ▼
世超拿了原图,上了检测网站测试了一下。
水印终于出现了。
我给数字串稍微打了点码
不过,仅仅一张图片并不具有说服力,世超接着又找了 2 个和水印事件毫无关系的微博。
这两个如果有水印,那基本是石锤了。
右键图片保存到本地,上传到检测网站。
结果如下:
第一张图
第二张图
虽说图片被压缩,很难看清具体的数字,但还是很明显看出截图里都出现了水印。
从长度上分析,基本就是网友们说的盲水印。
到这里可以确认,周日的知乎确实存在给网页端、App 端加盲水印这事。
不知道大家有没有好奇,截图里盲水印怎么加的,为啥我们看不到?
其实方法有很多,世超简单讲讲。
第一种就是水印和底色颜色近似。
这方法比较初级了,就是只要两个颜色够接近,人类肉眼是无法分辨。
下面是世超做的一张图,你看着就是纯灰色。
但只要用工具,对图片不同的通道进行查看,就可以发现它是有字的。
第二种方法利用频域手段添加盲水印,这个比较高级,没第一种这么容易破解。
它先把图片转换成频域( 别问频域是啥,解释起来太多 ),然后再把水印转成频域,打散后随机分布到各个频率上。
最后把他们叠加,转换回图像,此时图上就有盲水印了。
世超举个不太恰当例子。
你家有一个游泳池,你往里面扔一个鸡蛋,你肯定是能发现,但如果你把鸡蛋打散,放泳池里疯狂搅拌。
这时候你还能看到鸡蛋吗?看不到。
但鸡蛋,确实在泳池里了,只有通过特殊手段把鸡蛋复原回来,才能看到它。( 此例子没有考虑图像转换成频域,因为考虑了就不好举例了 )
实现盲水印方法还有很多,世超不太懂前端,就不在各位面前班门弄斧了。
关于知乎为啥要加盲水印,咱们暂时不好说,但这种事早不是第一次发生了。
之前豆瓣截图加水印,大家应该还有印象。
那会有网友发现,豆瓣应用在页面中嵌入了一种盲水印,包含了截图用户 UID,被截图帖子 ID、截图时间。
后来豆瓣回应了,这是小组的防搬运功能。
这个我可以理解,因为盲水印一般就是用来确定文件的最初所有权,在出现文件归属/版权争议的时候作为辅助证据使用。
比如说世超发了一张自己的腹肌照,结果被小黑胖偷去,用我照片跟别人搞网恋。
那我肯定不爽了,找小黑胖理论,但他拒不承认。
如果此时我图片有盲水印,用工具一解码,上面写着大大的“ 这是世超 ”几个字,不就能打小黑胖脸了么。
此外,盲水印也可以帮公司追踪泄露内部消息的员工。
比如之前阿里的月饼门事件。
2016 年,阿里内部搞了抢购月饼活动,但有几个哥们利用脚本多刷了 124 盒。后来阿里就把这几个哥们开了,并在内部发了一个处理公告。
有员工把这个公告截图发了出来,就是下面这张。
结果阿里用技术手段找到了这张截图的员工。
后来怎么处置员工的我不清楚,但是找到这员工的技术手段,就是盲水印了。
不讨论阿里具体做法如何,但利用盲水印追踪泄露内部消息的员工,似乎也可以理解。
虽然之前这几家平台都加了盲水印,但原因要么说得通,要么可以理解。
知乎加这个盲水印,如果说它是为了和豆瓣一样,为了防盗防搬运,保护大家版权之类的,那我也表示理解吧。
但奇怪的是,这种事为啥不说一声呢,难道真当大家发现不了么。。
猜你喜欢
- 2024-11-23 VC.NET全屏截屏或鼠标拖动出区域,截图效果「附源码」
- 2024-11-23 Star 17.3k!给它一张屏幕截图,即可一键克隆网页!
- 2024-11-23 一个好的前端年薪会有多少钱?
- 2024-11-23 57挑战之53,python实现客户端+服务端
- 2024-11-23 6个月转行成功WEB前端工程师的秘诀在这里
- 2024-11-23 分享 12 个超级实用的前端工具,可能就是你一直在寻找的!
- 2024-11-23 超级实用的截图工具分享—Snipaste
- 2024-11-23 前端革命时刻:前端代码是怎样智能生成的-图像分离篇
- 2024-11-23 推荐给前端开发的 5 款 Chrome 扩展
- 2024-11-23 这4个神器,帮你自动美化生成好看的网页截图
你 发表评论:
欢迎- 07-10Oracle 与 Google Cloud 携手大幅扩展多云服务
- 07-10分享收藏的 oracle 11.2.0.4各平台的下载地址
- 07-10Oracle 和 Microsoft 推出 Oracle Exadata 数据库服务
- 07-10Oracle Database@Azure 推进到南美等新区域并增加了新服务
- 07-10Oracle宣布推出 Oracle Database@AWS 的有限预览版
- 07-10Oracle与Nextcloud合作,推出主权云上的安全协作平台
- 07-10NodeRED魔改版连接MsSql、PostgreSQL、MySQL、OracleDB存储无忧
- 07-10对于企业数据云备份,“多备份”承诺的是成本更低,管理更高效#36氪开放日深圳站#
- 601℃几个Oracle空值处理函数 oracle处理null值的函数
- 593℃Oracle分析函数之Lag和Lead()使用
- 581℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 578℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 573℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 566℃【数据统计分析】详解Oracle分组函数之CUBE
- 553℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 547℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- Oracle 与 Google Cloud 携手大幅扩展多云服务
- 分享收藏的 oracle 11.2.0.4各平台的下载地址
- Oracle 和 Microsoft 推出 Oracle Exadata 数据库服务
- Oracle Database@Azure 推进到南美等新区域并增加了新服务
- Oracle宣布推出 Oracle Database@AWS 的有限预览版
- Oracle与Nextcloud合作,推出主权云上的安全协作平台
- NodeRED魔改版连接MsSql、PostgreSQL、MySQL、OracleDB存储无忧
- 对于企业数据云备份,“多备份”承诺的是成本更低,管理更高效#36氪开放日深圳站#
- 解读丨《归档文件整理规则》— 电子文件元数据存储
- Data Guard跳归档恢复的实践(dataguard failover)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (57)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)