用什么样的方法防止图片被抓取?

2018-09-12 11:27:45 +08:00
 jiafaner
公司接了个活,老板说能赚不少钱,对外展示高清照片,后端存储什么的都做好了,现在做到前端了

其中所有匿名用户都能够看到一部分照片,其他的需要登录才能看,但客户的要求是图片需要防止被任意抓取

有没有什么技术能实现随便被抓的,也不用完全避免被抓取,只要能相对不容易被下载就好了
11690 次点击
所在节点    程序员
97 条回复
fuermosi777
2018-09-13 05:14:06 +08:00
@hicdn 确实,算是防君子不防大牛吧 :)
Fulcrum
2018-09-13 08:22:30 +08:00
FLASH
Adamla
2018-09-13 08:38:13 +08:00
又能赚不少钱,又是高清图片,诶呀~~
dikT
2018-09-13 08:38:31 +08:00
@xor #5 那我就 chromedriver 走一波
greatghoul
2018-09-13 08:49:54 +08:00
除非不给用户展示高清图片,否则没有办法防的。
greatghoul
2018-09-13 08:51:07 +08:00
上面各种意淫的是没听过无头浏览器吧。
cfq1491
2018-09-13 09:00:01 +08:00
你要明白,图片就是给人看的,所以你就无法防止别人截图,只能限制截图出来的效果,比如展示缩略图,对图片进行水印处理;如果非要展示高清图片,就必须限制 IP 和账户下载次数,对账户进行支付宝信用验证等手段了;还有一个思路就是对图片链接随机处理。
jydeng
2018-09-13 09:10:42 +08:00
@bumz 直接用 toDataURL() 可以拿到 base64,只能防普通用户
shakoon
2018-09-13 09:44:59 +08:00
把大图以随机尺寸切割为不同大小的小图,这样在前端另存时就非常麻烦了。当然爬虫还是有办法能把图再拼接出来的,但也已满足“相对不容易被下载就好了”的需求了
Mutoo
2018-09-13 10:03:33 +08:00
碎图+乱序 DOM+随机反相滤镜+svg 反相滤镜恢复+css 乱序恢复+不等长动画载入+随机水印。
imdoge
2018-09-13 10:21:20 +08:00
只能加隐藏水印事后起诉吧,所见即所得,大不了人家 puppeteer 截图咋防
winglight2016
2018-09-13 10:42:24 +08:00
要看具体需求了,目前我见过防抓取最严密的就是 google project art 了,当然了,这网站的初衷是为了解决超大分辨率图片的加载,不过间接导致我想下载到本地的时候发现根本无从下手——整张图只能靠手动拖来拖去然后等待加载高分辨率版本,我感觉这技术非常先进了
hundan
2018-09-13 10:48:11 +08:00
AES 后端加密前端解密,打盲水印,顶多就是这样了
openbsd
2018-09-13 10:52:21 +08:00
技术上 会员制+数字盲水印+版权条款 可以解决大多数问题,至于 拍屏 /屏幕采集 的,相当于外置硬件了,你有那种长长的可以伸到用户家的望远镜么......
codingKingKong
2018-09-13 10:54:42 +08:00
打水印, 要清晰, 要大~
否则... 我数数啊, 爬虫解析 DOM 获取 URL, 模拟调用接口, 模拟截屏, 实在不行, 我还能用手机拍...
Felldeadbird
2018-09-13 11:07:23 +08:00
参考视觉中国的做法。抓让他们抓啊。。反正你声明好:
本图片版权归 XXX 所有,任何非法盗取、使用……

广撒网,等着钱进口袋。岂不美哉?
459077797
2018-09-13 16:57:33 +08:00
图片打印出来,放个展厅 谁要看就来看,不准拍照

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/488463

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX