禁用右键只是把门把手拆了,门还在;真正管用的是水印、防盗链和视频 DRM,而防复制的目标是把偷的成本抬到不值得。
7-10 讲图片怎么存,这一节讲【存的图能不能被拿走】。教材 7-11 的关键词是【防复制代码】——这一项最容易做错方向:写一堆禁用右键的脚本,既挡不住人,又烦了正常用户。
一、先分清你要防的是谁
【防复制】这三个字太笼统,先拆成三类不同的对手,手段完全不同:
- 随手保存的人:看到图就右键存下来,用在自己 PPT 里;
- 自动化抓取:爬虫按目录把全站图片、文案扒走,用来做竞品站;
- 转卖付费内容:买了会员,把课程视频下载下来二次售卖。
这三类要用三种办法对付。 用禁用右键去防爬虫,等于用纱窗挡洪水;用爬虫拦截去防转卖,也拦不住已经登录的付费用户。
二、禁用右键只是减速带
先说最常见、也最没用的那一招。把各类做法的真实效果列出来:
| 做法 | 真实效果 |
|---|---|
| 禁用右键 | 挡住随手保存;开发者工具、截图可绕过 |
| 禁止选中文本 | 同上;还会妨碍正常用户复制商品名 |
| 图片切片拼接 | 稍麻烦一点,拼接工具可还原 |
| 可见水印 | 搬走也没法直接用——最有效的一档 |
| 不可见水印 | 不挡复制,但能事后查出是谁流出的 |
| 防盗链 | 挡住别人直接引用你的图片地址 |
| 视频 DRM 加密 | 唯一真正挡住下载工具的手段 |
核心事实:只要浏览器能把内容显示出来,它就一定到过这台电脑,就一定拿得走。 开发者工具里能翻到原图地址,截图能绕过任何前端脚本,浏览器扩展能直接抓网络流。
禁用右键唯一的实际作用是表态:告诉访问者【这些内容是有主的】。它拦的是无意与随手,不是有意。
三、真正有效的三件事
第一件:水印。 可见水印让搬走的图【没法直接用】——这是最省事、最有效的一档;不可见水印不挡复制,但能在事后查出是哪个用户流出的,用于追责。
第二件:防盗链。 别人不能直接引用你的图片地址,挡住的是最常见的【白嫖流量】。 云服务商和 CDN 都提供这个开关。
第三件:视频 DRM。 这是唯一真正能挡住下载工具的手段,因为它走的是硬件:
| DRM 级别 | 差别 |
|---|---|
| Widevine L1 | 解密在处理器安全区完成,支持 4K、抗录屏 |
| Widevine L3 | 纯软件解密,上限 1080p,可被绕过 |
| PlayReady | 微软体系,Windows 与 Xbox 上常见 |
| FairPlay | 苹果体系,Safari 与 iOS 上常见 |
光有 token 鉴权不够:链接带签名只保证【不能让别人重复用】,但内容本身仍是可读的流,扩展一样能抓。必须让内容本身是加密的,才真正成立。
所以按目的选手段:
| 你想防的是 | 该用什么 |
|---|---|
| 竞争对手随手搬图 | 可见水印 + 禁用右键 |
| 自动化批量抓取 | 在流量层拦机器人,别在页面上较劲 |
| 付费内容被转卖 | DRM + 每个用户一份动态水印 |
| 已经被盗用要维权 | 不可见水印 + 反向图搜 + 下架通知 |
一句话:防复制不是把内容锁死,是把偷的成本抬到不值得。 凡是宣称【绝对防复制】的插件,都可以先放下。
四、动手 Demo:为什么 DRM 的级别差在【硬件】上
从分辨率上限这个角度,看清 L1 与 L3 的差距——这也是为什么【软件解密】永远守不住。
print(" Widevine L1:硬件解密,最高 4K,抗录屏")
print(" Widevine L3:软件解密,最高 1080p,可被绕过")
print(" 1080p 的像素量只有 4K 的 %.0f%%" % (1920 * 1080 / (3840 * 2160) * 100))
实跑输出:
--------------------------------------------------------------------
防复制——先认清什么挡得住、什么挡不住
--------------------------------------------------------------------
常见做法与实际效果,一条条拆开看:
做法 真实效果
-------------------------------------------------------
禁用右键 挡住随手保存;开发者工具、截图可绕过
禁止选中文本 同上;还会妨碍正常用户复制商品名
图片切片拼接 稍麻烦一点,拼接工具可还原
可见水印 搬走也没法直接用——最有效的一档
不可见水印 不挡复制,但能事后查出是谁流出的
防盗链 挡住别人直接引用你的图片地址
视频 DRM 加密 唯一真正挡住下载工具的手段
-------------------------------------------------------
核心事实:只要浏览器能把内容显示出来,它就一定到过这台电脑,
就一定拿得走。禁用右键只是【门把手拆了】,门本身还在。
视频这一档之所以能当真,是因为 DRM 走的是硬件:
DRM 级别 差别
--------------------------------------------------------
Widevine L1 解密在处理器安全区完成,支持 4K、抗录屏
Widevine L3 纯软件解密,上限 1080p,可被绕过
PlayReady 微软体系,Windows 与 Xbox 上常见
FairPlay 苹果体系,Safari 与 iOS 上常见
--------------------------------------------------------
所以按目的选手段:
你想防的是 该用什么
------------------------------------------------------
竞争对手随手搬图 可见水印 + 禁用右键
自动化批量抓取 在流量层拦机器人,别在页面上较劲
付费内容被转卖 DRM + 每个用户一份动态水印
已经被盗用要维权 不可见水印 + 反向图搜 + 下架通知
------------------------------------------------------
一句话:防复制不是把内容锁死,是把偷的成本抬到不值得。
凡是宣称【绝对防复制】的插件,都可以先放下。
看第三行:1080p 的像素量是 4K 的四分之一。上限定在 1080p,本质上是厂商在承认【软件解密挡不住高价值内容】。 这条差异对内容方是硬约束:想保护 4K 片源,就必须上带硬件安全区的方案——这也是各大平台把高清画质留给认证设备的原因。 回到第一张表:七种手段里,只有 DRM 一栏写的是【真正挡住】。 其余的定位都是【提高难度】或【事后追责】——认清这一点,就不会在禁用右键上浪费时间。
30 秒实验
- 在你的网站上右键点一张图,看能不能【在新标签页中打开图片】。
- 把一张网络图片拖到桌面,看能不能直接下载——这就是浏览器能拿到的证据。
- 找一个你付费的课程或视频平台,看它有没有做防录屏或水印。
常见误区
- 错误:禁用右键就能防复制。——纠正:禁用右键只挡得住随手保存。 开发者工具、截图、浏览器扩展都能绕过——它是表态,不是防护。
- 错误:加了水印就没人要了。——纠正:可见水印的作用是【让盗用变得不划算】(搬走也不能直接用),而不是让文件无法下载。 它解决的是使用价值问题,不是获取问题。
- 错误:视频只要链接带签名就安全了。——纠正:签名只防链接被复用,不防内容被抓取。 视频要真正受保护,必须让内容本身加密(DRM),并配合动态水印追责。
自测三问(点开对答案)
1. 为什么说【禁用右键】基本没用? —— 因为**浏览器要显示内容,内容就必然到过本地**。开发者工具能翻到原图地址、截图能绕开任何前端脚本、扩展能直接抓网络请求——**它只挡得住随手保存。** 2. 想防【自动化批量抓取】,该在哪一层做? —— **在流量层,不在页面层。** 识别并拦截来自机房 IP、代理、异常频次的自动化请求——**在页面上和爬虫较劲是没有尽头的。** 3. 水印和 DRM 分别解决什么问题? —— **可见水印让盗用方拿到也用不了**(解决使用价值);**不可见水印用于事后追责**(解决举证);**DRM 解决的是【根本拿不到】**——它是唯一真正挡住下载工具的方案。- ☐ 下一节(7-12 视频和音频文件:mov、mp4、下载、流媒体)
相关笔记
- 图像文件的种类 —— 上一节讲图片怎么存,这一节讲怎么防被拿走
- 视频和音频文件 —— 视频是防盗要求最高的一类内容
- 注意出版物的未经授权使用 —— 复制与授权在法律上的边界
- 防范针对 Web 应用的典型攻击手段 —— 内容被抓取的攻击面
- Web网页的主要部分 —— 页面里的资源是怎么被引用的
- 🕸️ Web技术原理 · 索引