1
hoky 2023-02-26 20:42:57 +08:00
跟普通的防盗链一个原理呀,只要能判断是盗链就行。
|
2
edis0n0 OP @hoky #1 判断不了,采集者用的工具很高级,日志里完全看不出特征,WAF 的防 bot 已经拉满了,只能做前端解密。
|
3
dearmymy 2023-02-26 21:11:14 +08:00
没必要非要做水印处理阿。既然要防止爬,直接传加密图片就行,干嘛还想着加水印。
|
5
billccn 2023-02-26 22:21:00 +08:00 2
很大的一个问题是除非你可以控制客户端,要不然在经济利益的驱使下总是可以绕过的,你只能提高破解的成本。
我给客户设计过一个是把图片转换成视频然后用加上 HDCP ,这样可以抵御截图,最后研究的时候发现国内带解码功能的采集卡太多了,绕过成本比我们加密的成本还低,只好作罢。 你想做的可以用我这个思路的变体,就是你把图片挖一些透明的水印,在透明部分后面放加上版权保护的视频,正好把透明的部分填上(互补)。相对我本来的设计,这个视频像素和帧率都可以比较低,占用编码器时间少,应该还是比较经济的。(注 JPEG 不支持透明色,需要用 PNG/GIF/WEBP/HEIC) 这个视频还可以做高级一些,比如利用各种视觉暂留的技巧(dithering 、interlacing)让单帧截图都可以看出来水印,只有连续放映的时候才是原来的颜色,这样的话即使解密采集卡也没用,一定程度上还可以抵御拍照。你觉得这个技巧就足够的话也可以用 GIF 动画实现,不需要加密视频。 |
6
flyqie 2023-02-26 22:28:24 +08:00
有个问题,既然都上 wasm 了,为啥还要明文传输图片?
后端直接传加密后的图片然后前端用 wasm 解密后通过各种方式显示出来不就完事了? 显示的话可以直接全图或块拼接(块拼接需要额外写 css)。 |
7
flyqie 2023-02-26 22:35:15 +08:00
@flyqie #6
看到楼主回复了。。。 还有个办法,除了传有水印图片外,再传一个加密的无水印 diff 数据(怎么传看你心情)。 前端显示的时候,wasm 用 diff 生成一个新图层并覆盖在水印图片上,然后再合并输出成一个正常的无水印图片。 |
8
rus4db 2023-02-26 23:47:53 +08:00
模拟漏洞( Analog hole )是堵不了的
|
9
lianyue 2023-02-27 00:04:43 +08:00
生成两张图
a + b = 一张完整的图 a 图片 布满水印文字文字颜色:透明 b 图片 布满水印文字文字颜色:图片原来的颜色 其他都是透明 b 图片设置成 背景 底层 这样通过右键保存是 a 图片 |
10
litchinn 2023-02-27 08:46:31 +08:00
数字水印适合吗
|