网页上如何做到右键无法保存图片?

2023-03-24 10:35:00 +08:00
 zeonll

本人前端小白

最近看小红书的 web 端,有几个疑惑: 1.右键图片没有 Save as 功能 2.资源的地址是如何被掩藏起来的,比如图片下载链接和视频下载链接

2911 次点击
所在节点    程序员
18 条回复
InDom
2023-03-24 10:36:39 +08:00
盲猜: 用作为背景图,或者是上面再覆盖一个新图层.
noe132
2023-03-24 10:38:55 +08:00
图片上贴了层膜你就摸不到了
TianQian
2023-03-24 10:42:12 +08:00
一楼正解
lemen
2023-03-24 10:42:44 +08:00
直接 f12 看就是把图片设定为背景了吧,直接把里边的 url 复制出来打开就能复制了
Yeen
2023-03-24 10:44:32 +08:00
1 禁用 /挡住右键、右键菜单
2 自己做个菜单。
但是稍微懂点技术的人都可以绕开。
corcre
2023-03-24 10:46:16 +08:00
看了一下图片有 save as 功能, 但是下载下来是错误的图片, 图片放到背景图里面去了, 打开 F12 还是能下载下来找到对应的 url 还是能直接打开然后下载的, 视频没研究
ONEBOYS
2023-03-24 11:02:00 +08:00
捕获 contextmenu 事件可行,但是开发者模式下肯定能破解。
lisxour
2023-03-24 11:07:48 +08:00
太多方法了吧,最常见的也是最常规的

1. background-image
2. blob
3. 元素遮盖或偏移
4. canvas
pipiking
2023-03-24 14:02:06 +08:00
小红书 web 端上的图片的水印是不是不是覆盖了一个新图层啊?好像加载出来就是有水印的?有无传道解惑的?
cheeto
2023-03-24 14:06:49 +08:00
@pipiking 不是,输出到前端就是带有水印的图片链接,抓包看一下就行
zeonll
2023-03-24 14:12:29 +08:00
@cheeto 肉眼看的时候没有水印吧
greatbody
2023-03-24 14:16:55 +08:00
不要显示图片就可以防止图片被顺走了。

只要你显示了图片,总有办法拿到。
cheeto
2023-03-24 14:30:01 +08:00
@zeonll 啊?难道小红书 web 端有 AB 测试吗,我这边看每张图片的中间都有“小红书”三个字
Kakus
2023-03-24 14:33:18 +08:00
<div style="background: url(xxx);"></div>

这样浏览器不会识别为图片,右键就没有保存选项

可以按 F12 ,找到这个元素,然后找到图片地址
pipiking
2023-03-24 14:43:39 +08:00
@cheeto 是每张图片的中间都有“小红书”三个字的。应该就是输出到前端是带水印的,得抓包才能看到无水印的图了看来 qaq ,感谢
hervey0424
2023-03-24 14:49:58 +08:00
@greatbody 我他妈直接截图
syseven
2023-03-24 15:10:29 +08:00
非常简单
css:{
pointer-events: none;
}
Yukiteru
2023-03-24 16:48:41 +08:00
一般要么是禁用右键菜单要么是把图片设为背景了,都很容易就能从 devtools 里找出来。

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

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

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

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

© 2021 V2EX