网页怎样尽可能禁止用户复制图片地址?

2022-10-13 10:10:40 +08:00
 kisshere

我想过用 js 禁止右键,禁止拖拽到地址栏或者图片覆盖一层 div ,还有没有比较巧妙的方式禁止用户复制图片地址?

11760 次点击
所在节点    程序员
111 条回复
rbq123456
2022-10-13 10:30:45 +08:00
oncontextmenu="return false"
draggable="false"

img 标签有这两个原生属性,可以禁止右键和拖拽。

至于 f12 再 js 处理下,基本就 OK 了。
yeejun
2022-10-13 10:34:50 +08:00
微信截图, 甚至 win 的系统截图都可以取下来. 唯一就是防盗链
fkdtz
2022-10-13 10:35:41 +08:00
看你想防谁了,防我还行,防 v 站的各位恐怕不太可能
mingl0280
2022-10-13 10:40:47 +08:00
防谁?
没技术的随便禁个 F12 就完了,有技术的我上 Fiddler 搞 mitm 你怎么防得住?
IvanLi127
2022-10-13 10:41:06 +08:00
base64 丢 background-image 里? 用户能访问的东西基本上就等于用户的东西了,你具体想防什么?防用户用你的图片发布到其他地方?
aaronlam
2022-10-13 10:44:41 +08:00
你能在浏览器显示出来,就别想着不让人知道图片地址是什么,最多就是限制他即使知道了地址他也不能随便拿来外链使用
krapnik
2022-10-13 10:50:17 +08:00
cht
2022-10-13 10:52:57 +08:00
可以参考 Getty Images 的方案
joffey
2022-10-13 10:54:41 +08:00
防不了截图啊
runze
2022-10-13 11:00:45 +08:00
canvas 或 blob ,然后每帧对图片随机遮罩一部分,这样用户看起来是正常的,但是截图时会发现总是有一部分截不全。
qzwmjv
2022-10-13 11:09:35 +08:00
终极解决方案,不放图片资源,返璞归真
zsj950618
2022-10-13 11:09:59 +08:00
开个脑洞,图片换成一帧的视频,然后用 DRM (
liuidetmks
2022-10-13 11:10:11 +08:00
感觉都是无用功,采用自定义格式,自己画可能有点用
h1104350235
2022-10-13 11:20:49 +08:00
服务端渲染 canvs ?
novolunt
2022-10-13 11:41:18 +08:00
使用新的图片格式,并且使用自己定制的图片解析器,解析器使用 wasm 载到网站,并存在过期时间和 url 等限制。
这样即使图片给别人下载下来也是无法解析的格式。
66beta
2022-10-13 11:42:56 +08:00
所以,你这么做的原因是什么?
yougg
2022-10-13 11:44:13 +08:00
给你一条未曾设想的道路
在所有图片中都打上水印(明纹 /暗纹都行)
水印内容为: 各种 ru(华 /共 /包)词汇
保证药到病除,谁转谁死.
dzdh
2022-10-13 11:44:49 +08:00
blob
图片通过 wasm 解密
yankebupt
2022-10-13 11:50:44 +08:00
虽然想说 F12 显原型包括 blob ,但是考虑到 OP 的问法,很可能是防盗链……
这个,各大站包括图床都有,就那种同一个图片地址别人贴链接上来就是灰的那种……
这种是在图片服务器端实现的,可以自己找一找...
XiLingHost
2022-10-13 12:22:07 +08:00
用 websocket 传二进制,肯定能防盗链

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

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

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

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

© 2021 V2EX